[webkit-dev] Moving to Git?

David Barr davidbarr at google.com
Thu Mar 8 14:37:44 PST 2012

On Fri, Mar 9, 2012 at 8:25 AM, Ryosuke Niwa <rniwa at webkit.org> wrote:
> On Thu, Mar 8, 2012 at 1:19 PM, Joe Mason <jmason at rim.com> wrote:
>> What Ryosuke seems to be complaining about is that if you have changes to
>> your working copy, "svn up" will automatically merge them, which could lead
>> to conflicts you have to untangle, while "git pull --rebase" will give an
>> error telling you you must commit or stash them first.  So the real
>> equivalent to "svn up" is "git stash && git pull --rebase origin/master &&
>> git stash pop".  And "git stash pop" will start pretty much the same merging
>> process as svn's if there are conflicts.
> Right. But I can't bother to type that much myself. Maybe my complain will
> go away if someone had implemented webkit-patch up that does this
> automatically.
>> And you can always make a "git-up" script that does "git stash && git pull
>> --rebase origin/master && git stash pop", so the command you type won't even
>> be any longer than "svn up", but will give you more safety.
> That'll certainly be an improvement. I still dislike git hashes though. If
> someone implements such a script in webkit-patch and we can automatically
> assign svn-revision like numbers to all commits, I can be convinced to use
> git.

I fully support scripts specific to the WebKit workflow that wrap the
VCS specifics.

In my former role, I spoke to developers to identify their most common
sequences of actions when synchronising their code and what
information they needed when a step failed.
I then wrote a common script that would execute as much of the process
as it could and provide information and instruction on failure.
This was a boon to productivity as in the common case, synchronisation
was sub-second, and in the uncommon case they no longer had to dig up
the relevant information before resolving conflicts.

I think we ought to streamline the git workflow before we start trying
to proselytise Subversion users. :)

The monotonic labels that Ryosuke desires are known in git language as
"generation numbers". If we maintain a canonical linear history going
forward, they would also be unique as with Subversion. This could be a
good reason to resurrect the relevant thread on the git mailing list.

David Barr.

More information about the webkit-dev mailing list