[llvm-dev] Delete Phabricator metadata tags before committing

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Sat Dec 28 08:51:26 PST 2019


Maybe there's a way to make an on-save filter that correctly detects that
the file being saved is a commit message (bonus if it can detect that it's
a commit message for the llvm repo)?

On Fri, Dec 27, 2019 at 10:30 PM Mehdi AMINI via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

>
>
> 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
>
> _______________________________________________
> LLVM Developers mailing list
> 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/20191228/e00da4ae/attachment.html>


More information about the llvm-dev mailing list