[llvm-dev] Delete Phabricator metadata tags before committing

Mehdi AMINI via llvm-dev llvm-dev at lists.llvm.org
Fri Dec 27 22:29:24 PST 2019


On Fri, Dec 27, 2019 at 12:48 PM Fangrui Song via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Many git commits in the monorepo look like the following:
>
>    [Tag0][Tag1] Title line
>
>    Summary:
>    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque mauris
> neque, porta nec tristique at, sagittis vel nisi. Fusce pharetra nunc et
> mauris consequat venenatis.
>
>    Reviewers: username0, username1
>
>    Reviewed By: username0
>
>    Subscribers: username2, username3, llvm-commits
>
>    Tags: #llvm
>
>    Differential Revision: https://reviews.llvm.org/Dxxxxx
>
> These Phabricator metadata lines (`Reviewers:`, `Reviewed By:`, etc) are
> created automatically when the author uploads the patch via `arc diff
> 'HEAD^'`.
> The summary and metadata can be copied from Phabricator to the local
> commit via `arc amend`.
>
> Among the metadata tags, `Differential Revision:` is the most useful one.
> It associates a commit with a Phabricator differential (Dxxxxx) and allows
> the differential to be closed automatically when the commit is pushed to
> llvm-project master.
>
> The other tags (Subscribers:, Reviewers:, Reviewed By:, Tags:, and the
> `Summary:` line) are not useful. They just clutter up the commit message.
> Shall we mention on https://llvm.org/docs/DeveloperPolicy.html that
> developers are recommended to delete metadata tags before committing?


That's be great!
I suspect we can provide a bash function to add to one's .bashrc to make it
trivial:

function arcfilter() {  git log -1 --pretty=%B | awk '/Reviewers: /{p=1;
sub(/Reviewers: .*Differential Revision: /, "")}; /Differential Revision:
/{p=0;}; !p'   | git commit --amend -F - ; }

Just running `arcfilter` before pushing will filter the commit it out
automatically!


> It'd be nice if some pre-receive hooks can be set up to enforce deleting
> some really unnecessary metadata tags.


Unfortunately you can't add pre-receive hook on GitHub as far as I know.

-- 
Mehd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191227/72d31a0c/attachment.html>


More information about the llvm-dev mailing list