Hi folks,

As we move towards using Git as our version control system, more services and 
scripts will be using identifiers instead of revisions or hashes.  Already, 
build.webkit.org <http://build.webkit.org/>, results.webkit.org 
<http://results.webkit.org/> and ews-build.webkit.org 
<http://results.webkit.org/> all display identifiers alongside revisions.  
Early in the transition process, we added the git-webkit find command, which 
converts between hashes, revisions and identifiers.  Recently, we added the 
git-webkit log and git-webkit blame commands to better support identifiers and 
native Git checkouts.

git-webkit log is a wrapper around git log or svn log (depending on your 
checkout) and annotates the output of those commands with identifiers and 
revisions. git-webkit log passes the arguments you provide it to your native 
source code management system, it’s output looks something like this:

commit 240602@main (fe5476762fc34d2a5547b7d2d8116faa7275acd7, r281148)
Author: Eric Hutchison <ehutchi...@apple.com>
Date:   Tue Aug 17 17:46:39 2021 +0000

    [Monterey wk2 Release] 
performance-api/paint-timing/paint-timing-with-worker.html is a flaky crash.
    rdar://82036119.
...

git-webkit blame is a wrapper around git blame or svn blame (again, depending 
on your checkout) and also annotates the output of these commands with 
identifiers:

230258@main (Keith Rollin    2020-10-08 19:10:32 +0000  1) MODULES = Source 
Tools
184786@main (Jonathan Bedard 2017-02-02 18:42:02 +0000  2) 
229628@main (Keith Rollin    2020-09-22 18:37:51 +0000  3) define 
build_target_for_each_module
229628@main (Keith Rollin    2020-09-22 18:37:51 +0000  4)      for dir in 
$(MODULES); do \
229628@main (Keith Rollin    2020-09-22 18:37:51 +0000  5)              ${MAKE} 
$@ -C $$dir PATH_FROM_ROOT=$(PATH_FROM_ROOT)/$${dir}; \
229628@main (Keith Rollin    2020-09-22 18:37:51 +0000  6)              
exit_status=$$?; \
229628@main (Keith Rollin    2020-09-22 18:37:51 +0000  7)              [ 
$$exit_status -ne 0 ] && exit $$exit_status; \
229628@main (Keith Rollin    2020-09-22 18:37:51 +0000  8)      done; true
229628@main (Keith Rollin    2020-09-22 18:37:51 +0000  9) endef
...

Both commands can switch the commit representation they display with the 
--identifier, --hash and --revision options.

Additionally, for those using Git checkouts, the conversion from Subversion 
revisions to Git hashes no longer requires your checkout to be configured with 
git-svn. Contributors may find that something like git checkout r281146 
satisfies whatever need they have to interact with Subversion from Git.

All of this has been landed on trunk/main as of r280864/240404@main.

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

Reply via email to