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