Hello Jonathan,
Probably you are aware of that but
https://github.com/WebKit/WebKit#contribute /
https://webkit.org/contributing-code/ still mentions the ChangeLogs and
old workflow.
Le 16/05/2022 à 22:46, Jonathan Bedard via webkit-dev a écrit :
Starting tomorrow, Tuesday May 17th, WebKit will no longer be using
ChangeLogs and will instead require commit messages in new
commits. These were the norm when we started the project, but now they
are unusual, antiquated, and get in the way of common git tooling.
This means that we need a commit message in every patch or PR that's
submitted for review. From prior discussion, it is very clear that
there are legitimate downsides too, and I want to take this
opportunity to suggest recommended paths forward.
You will need to take action if you:
- Have a pure-Subversion checkout
- Draft patches without making local commits
- Draft patches from multiple local commits
- Have patches with ChangeLogs already in bugzilla
- Have pull requests with ChangeLogs
https://github.com/WebKit/WebKit/wiki/Migration covers migration to
GitHub workflows in general, but Tuesday’s change is quite a bit more
narrow in its effects. Below I’ve listed the actions you may need to take
- Have a pure-Subversion checkout
Follow https://github.com/WebKit/WebKit/wiki/Migration#subversion to
clone github.com/WebKit/WebKit <http://github.com/WebKit/WebKit> and
start developing from a GitHub checkout. The patch workflow works just
as well from a GitHub checkout. One significant difference is that
it's not possible to commit directly, but this is going away soon as
GitHub becomes the source of truth, so it is probably not worth
migrating to git-svn for. Also, some people find git-svn handy to
convert between revision formats; we have `git webkit find` as a
replacement.
- Draft patches without making local commits
Run `git-webkit setup` to configure your local git hooks to provide a
WebKit commit-message template. Before running `webkit-patch upload`,
run `git commit -a` to create a local commit with all local changes.
To amend that commit, run `git commit -a —amend`.
- Draft patches from multiple local commits
EWS will test patches with multiple commits in them, but Commit-Queue
will not land those patches. If you have a multi-commit patch (or
branch) applied locally, you need to squash them. I’d recommend `git
rebase -i <base>`. To do this, run `git rebase -i HEAD~3`, git will
then open your editor and offer to `pick` the last 3 commits. Keep
`pick` for the first listed commit, but use `squash` for the other
two and close your editor, the last 3 commits will be squashed into a
single commit.
- Have patches with ChangeLogs
Apply your patch with `webkit-patch apply-from-bug <bug-number>`. If
we’ve already removed the ChangeLog files from the repository, this
patch application will fail. Resolve the conflicts, and commit your
local changes and draft a commit message.
If we haven’t yet removed the ChangeLog files, your patch should
apply. In that case, make sure you’ve run `git-webkit setup` and
commit your local changes include the ChangeLog. This will create a
commit message derived from your ChangeLogs. Then, remove the
ChangeLog edits locally, amend your previous commit with `git commit
-a —amend` and re-upload your ChangeLog free patch.
- Have pull requests with ChangeLogs
Check out your pull request, remove any ChangeLog edits locally and
run `git-webkit pr --amend`.
Jonathan
WebKit Continuous Integration
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev
--
Frédéric Wang
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev