Re: [webkit-dev] ChangeLog Deprecation in WebKit

2022-05-31 Thread Frédéric Wang via webkit-dev

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  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 `. 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 `. 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


[webkit-dev] ChangeLog Deprecation in WebKit

2022-05-16 Thread Jonathan Bedard via webkit-dev
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  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 `. 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 `. 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