Hello contributors,

As we move forward with the transition to GitHub, we are starting to adopt 
identifiers <https://trac.webkit.org/wiki/commit-identifiers> in tooling and 
infrastructure. This is going to take a few weeks, but you will start seeing 
links based on identifiers more frequently. During this transition period, not 
all tooling will work with identifiers, and it’s possible there are tools you 
rely on that aren’t in common use so will be slow in receiving support. To that 
end, I would like to share the tools available to translate between hashes, 
revisions and identifiers in WebKit, along with the Python libraries backing 
that tooling if you feel motivated to expedite the transition for a workflow 
that is particularly important to you.

Tools/Scripts/git-webkit find <ref> is the local script that can convert 
between revisions, hashes and identifiers. By default, it uses your local 
checkout, which means it may be restricted by your checkout’s configuration. 
For example, a pure Subversion checkout will be unable to convert hashes and a 
pure Git checkout will be unable to convert revisions, while a Git-Svn checkout 
will be able to translate all three formats.

If you want to be certain that a hash or revision can be converted to an 
identifier, running Tools/Scripts/git-webkit -C 
<https://svn.webkit.org/repository/webkit> find <ref> or 
Tools/Scripts/git-webkit -C https://github.com/WebKit/Webkit 
<https://github.com/WebKit/Webkit> find <ref> are options. These command 
operate entirely on the network, instead of relying on your local checkout.

Both variations of git-webkit find are ultimately thin wrappers around 
webkitscmpy local.Scm and remote.Scm classes, so if you find yourself working 
with Python code, consider leveraging the APIs directly.

Lastly, along with redirecting to trac/GitHub, the site 
https://commits.webkit.org <https://commits.webkit.org/> has a JSON API which 
vends a representation of a commit which includes the hash, revision and 
identifier and looks like this: https://commits.webkit.org/234036@main/json 
<https://commits.webkit.org/234036@main/json>. commits.webkit.org 
<http://commits.webkit.org/> is a service we are dedicated to maintaining 
permanently, since it allows us to vend commit links with identifiers instead 
of hashes.

WebKit Continuous Integration
webkit-dev mailing list

Reply via email to