[llvm-dev] Applying patches from Phabricator?

Alexandre Ganea via llvm-dev llvm-dev at lists.llvm.org
Thu Apr 9 07:59:44 PDT 2020


Andrzej, Jinsong, thanks for the help, using `patch` works! I’ll install arcanist as well.

De : Jinsong Ji <jji at us.ibm.com>
Envoyé : April 9, 2020 10:48 AM
À : Alexandre Ganea <alexandre.ganea at ubisoft.com>
Cc : LLVM Dev <llvm-dev at lists.llvm.org>; llvm-dev <llvm-dev-bounces at lists.llvm.org>
Objet : RE: [llvm-dev] Applying patches from Phabricator?


Or use cherry-pick in your scenario.


If you apply the patch to master
F:\llvm-project>curl https://reviews.llvm.org/D77421?download=true -L >patch.txt
F:\llvm-project>git apply -3 patch.txt
Then switch to 10.x branch and cherry-pick it.
F:\llvm-project>git checkout release/10.x
F:\llvm-project>git cherry-pick master


If you are using arc, it will be simpler:

> arc patch D77421
> git checkout release/10.x
> git cherry-pick arcpatch-D77421



Best,

Jinsong Ji (纪金松), PhD.

XL/LLVM on Power Compiler Development
E-mail: jji at us.ibm.com<mailto:jji at us.ibm.com>

[Inactive hide details for Jinsong Ji via llvm-dev ---04/09/2020 10:38:20 AM---Try using patch instead of git (due to fuzz)  $ p]Jinsong Ji via llvm-dev ---04/09/2020 10:38:20 AM---Try using patch instead of git (due to fuzz) $ patch -p1 < D77421.diff

From: Jinsong Ji via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>>
To: Alexandre Ganea <alexandre.ganea at ubisoft.com<mailto:alexandre.ganea at ubisoft.com>>
Cc: LLVM Dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>>, llvm-dev <llvm-dev-bounces at lists.llvm.org<mailto:llvm-dev-bounces at lists.llvm.org>>
Date: 04/09/2020 10:38 AM
Subject: [EXTERNAL] Re: [llvm-dev] Applying patches from Phabricator?
Sent by: "llvm-dev" <llvm-dev-bounces at lists.llvm.org<mailto:llvm-dev-bounces at lists.llvm.org>>
________________________________



Try using patch instead of git (due to fuzz)

$ patch -p1 < D77421.diff
patching file llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
Hunk #1 succeeded at 454 (offset -46 lines).
Hunk #2 succeeded at 486 with fuzz 1 (offset -47 lines).
Hunk #3 succeeded at 1278 (offset -142 lines).
Hunk #4 succeeded at 1321 (offset -142 lines).
patching file llvm/test/Transforms/WholeProgramDevirt/Inputs/unique-retval-same-vtable.yaml
patching file llvm/test/Transforms/WholeProgramDevirt/import.ll
patching file llvm/test/Transforms/WholeProgramDevirt/unique-retval-same-vtable.ll
patching file llvm/test/Transforms/WholeProgramDevirt/unique-retval.ll


Best,

Jinsong Ji (纪金松), PhD.

XL/LLVM on Power Compiler Development
E-mail: jji at us.ibm.com<mailto:jji at us.ibm.com>

[Inactive hide details for Alexandre Ganea via llvm-dev ---04/09/2020 10:30:26 AM---Hello, Is there a way for Phabricator to ret]Alexandre Ganea via llvm-dev ---04/09/2020 10:30:26 AM---Hello, Is there a way for Phabricator to retain the patches as originally uploaded?

From: Alexandre Ganea via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>>
To: LLVM Dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>>, MyDeveloper Day <mydeveloperday at gmail.com<mailto:mydeveloperday at gmail.com>>
Date: 04/09/2020 10:30 AM
Subject: [EXTERNAL] [llvm-dev] Applying patches from Phabricator?
Sent by: "llvm-dev" <llvm-dev-bounces at lists.llvm.org<mailto:llvm-dev-bounces at lists.llvm.org>>
________________________________



Hello,

Is there a way for Phabricator to retain the patches as originally uploaded?
When using the “Download Raw Diff” button, it seems Phabricator reformats the patch, loosing the parent commit along the way, so often patches don’t apply.

The following works, because I’ve got the latest checkout on master, and the patch was rebased recently:
F:\llvm-project>curl https://reviews.llvm.org/D77421?download=true -L >patch.txt

F:\llvm-project>git apply -3 patch.txt

But if I switch to the release branch and try to apply:
F:\llvm-project>git reset && git checkout .
(...)
F:\llvm-project>git checkout release/10.x
(...)
F:\llvm-project>git apply -3 patch.txt
error: patch failed: llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp:529
error: repository lacks the necessary blob to fall back on 3-way merge.
error: llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp: patch does not apply

Is there some magic I’m not aware of?

Thanks!
Alex._______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


_______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200409/609c7cbd/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.gif
Type: image/gif
Size: 105 bytes
Desc: image001.gif
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200409/609c7cbd/attachment-0001.gif>


More information about the llvm-dev mailing list