[llvm-dev] Proposing a llvm-patch helper script in-tree to create/apply patches without arc

Florian Hahn via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 20 18:15:58 PST 2020


Hi,

One takeaway for me from the recent Phabricator vs Github PR discussions was that arc (arcanist) can be a pain to set up and may pose a hurdle for some contributors.

I think those points could be addressed relatively easily by adding a llvm-patch script (or an even better name) that allows users to create and apply patches from reviews.llvm.org using Phabricators API. In my experience, the three most common uses cases are:

1. Create a new review from the current HEAD commit in the working directory and let me optionally add subscribers/reviewers
2. Update the diff for an existing review with the current HEAD commit in the working directory
3. Download the latest diff for a revision and apply it to the working directory, using the commit message from Phabricator.

Those should be fairly easy to implement and as a proof-of-concept I went ahead and put up a patch implementing 3. from the list above: https://reviews.llvm.org/D73075 .

 Please note that the script is probably a bit rough around the edges and I probably won’t have time to implement 1. and 2. in the near future on my own, but maybe someone would be interested in helping out.

I think that could improve the experience for new contributors substantially: 
 * Create a new patch: `llvm-patch upload`
 * Apply a patch from a review: `llvm-patch apply D12345`. 

WDYT?

Cheers,
Florian


More information about the llvm-dev mailing list