> Message: 2
> Date: Mon, 18 Apr 2022 10:33:03 -0700
> From: Ryosuke Niwa <rn...@webkit.org>
> To: Jonathan Bedard <jbed...@apple.com>
> Cc: WebKit Development <webkit-dev@lists.webkit.org>
> Subject: Re: [webkit-dev] ChangeLog Deprecation Plans
> Message-ID:
>       <cabnrm613onu_8wjxeuhjvoh7vztc3t9r_ylnqgoj5if5as0...@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> On Mon, Apr 18, 2022 at 8:30 AM Jonathan Bedard via webkit-dev <
> webkit-dev@lists.webkit.org> wrote:
> 
>> As we migrate WebKit from Subversion to git, I would like to migrate the
>> project away from ChangeLogs. The reason for this is that ChangeLogs make
>> some of the features of git hard to use, namely, cherry-picking commits
>> between branches requires conflict resolution every time.
>> 
> 
> Isn't this something that can be easily resolved with a merge script?

For simple cases, yes. But with something like a multi-commit revert or 
rebasing a feature onto a different branch, merge scripts stop working pretty 
quickly. It’s usually, It might be possible to write a merge script to handle 
these cases, but it’s by no means “easy” in the general case. It’s also worth 
noting that the cases that are more complicated also tend to be the ones with 
the most urgency attached to them.

> 
> Rotating ChangeLogs is also moderately difficult in git with locked down
>> commit access like our project has, only repository administers would, in
>> practice, be able to rotate ChangeLogs.
>> 
> 
> It seems like we can just automate this by introducing a change log
> rotating bot, which has the same privilege as commit queue.

Anything that starts with “we can just have a bot which…” is not a simple or 
robust solution. Bots need maintenance and intervention, and a bot with commit 
access has another set of issues. Repository admins occasionally rotating 
ChangeLogs is going to be less expensive than a bot doing it.

> 
> So these two arguments seem rather weak.
> 
> Lastly, ChangeLogs are uncommon in git based projects, so new contributors
>> will find them difficult to manage.
>> 
> 
> This might be the strongest argument in favor of deprecating change logs.
> 
> 2) We need a way to comment on commit messages in review
>> Current tooling sets the pull request description as the commit message,
>> ?Quote Reply? kind of provides a way to inline comment, although it?s not
>> the formal review UI
>> *Proposal*: Tooling should support a ?COMMIT_MESSAGE? file in each pull
>> request commit that becomes COMMIT_MESSAGE when a pull request is landed
>> 
> 
> This needs to be a mandatory / automatic system, not opt-in. I want to
> comment on commit messages as a reviewer. As a patch author, I don't care
> whether it can be easily commented on or not.
> 
> But if this is a required thing, then new contributors would have to learn
> that this file is auto-generated or needs to be edited manually in some
> cases so getting rid of change logs may not necessarily reduce the
> cognitive load in comparison to keeping the status quo (i.e. keeping change
> log files).

We can make it automatic for folks using tooling (and in such a way that folks 
familiar with git won’t realize what has happened until they see their PR 
diff), “mandatory” is a bit tougher because we can’t prevent folks from filing 
a pull request without using tooling. At that point, we’re where we are today 
with PR template that encourages tool usage, explains how to craft a PR the 
ways tools do it and then reviewers acting as a gate-keeper. The last point is 
more about project policy than it is tooling.

> 
> 3) Edit commit messages while creating a change, not just when committing
>> the change
>> The ?overwrite? workflow already sort of support this idea by using amend
>> commits instead of appending commits to an existing branch
>> *Proposal*: The above ?COMMIT_MESSAGE? file workflow would allow
>> iterative building of a commit message before committing
>> 
> 
> I absolutely despise --amend commits. It's the most annoying thing I have
> to do whenever I'm creating patches in a git clone.

I do not think it is the appropriate place for the WebKit project to make 
judgments about personal preferences for local development. From my discussions 
with folks, it seems that the project is pretty evenly split on --amend 
commits, with some contributors preferring them and others preferring to make 
multiple commits. My purpose in bringing up --amend commits is that one of the 
things I’ve heard folks find useful about ChangeLogs is the ability to 
iteratively build them, which is something that does have a parallel in raw git 
workflows.

The COMMIT_MESSAGE approach, I believe, supports both --amend and amend 
workflows quite well.

> 
> I like the COMMIT_MESSAGE and hooks proposals because they are opt-in.
>> Contributors who wish to use native git tooling to contribute and interact
>> with the project do not have to use either tool, but the tools are
>> compatible enough with native git workflows that contributors who find
>> editing and viewing commit messages primarily in a text editor
>> 
> 
> I don't think COMMIT_MESSAGE can be opt-in for the aforementioned reasons.
> 
> - R. Niwa



_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to