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

David Tellenbach via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 20 22:09:10 PST 2020


although I think making the arcanist workflow more accessible is an excellent idea I'm not entirely sure if providing a custom script is the best solution (yet).

A lower hanging fruit would be to have a good and comprehensive documentation, ideally including some example workflows, for using arcanist with LLVM. While the Phabricator documentation on arcanist is quite helpful for getting started it's not very detailed. Our own docs on the topic are basically non-existent.

The downsides of providing a custom script are obvious: Someone has to write it and someone has to maintain it. Moreover I don't think that arcanist is so complicated that a custom script would be a huge improvement (you'd have to read the documentation of the new tool anyway).

If a well organized documentation still doesn't resolve the problem of arcanist being too confusing (uncommon, ...) we could definitely think about providing a custom script, I just think it's not the first logical step.


> On 21. Jan 2020, at 03:15, Florian Hahn via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 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`. 
> Cheers,
> Florian
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

More information about the llvm-dev mailing list