[webkit-dev] Moving to Git?

Patrick Gansterer paroga at paroga.com
Thu Mar 8 14:41:00 PST 2012


Am 08.03.2012 um 23:30 schrieb Alexis Menard:

> On Thu, Mar 8, 2012 at 7:10 PM, Maciej Stachowiak <mjs at apple.com> wrote:
>> 
>> It seems like there are a couple of different issues here that affect how we
>> do version control. Currently we have an SVN primary repository, some
>> contributors use SVN, and others use git via git-svn.
>> 
>> It seems like there are two possible changes we can make, and it is not
>> really clear to me which is being advocated:
>> 
>> 1) Offer only a git repository; everyone uses git.
>> 2) Use a git central repository; but some form of svn access is provided (is
>> this even possible?)
>> 
>> And then there is the status quo:
>> 
>> 3) Continue doing what we're doing; central repository is svn, but anyone is
>> free to use git and we try to make it convenient to do so.
>> 
>> One interesting asymmetry here is that, while many git users proseltyze git
>> and advocate total removal of svn support from our tools and infrastructure,
>> no one seems to advocate completely removing git support. So I left that
>> option off. There are also other distributed version control systems out
>> there such as Mercurial or Bazaar, but no one seems much in favor of using
>> them for WebKit, so those options are also left off.
>> 
>> If we are to assess these options in a deeper way than just everyone saying
>> what they personally like, we need to identify the pros and cons of options
>> (1) and (2) relative to (3). That's assuming (2) is even possible. It seems
>> like there are at least a few factors to consider:
>> 
>> A) Future quality of life for current git users.
>> B) Future quality of life for current svn users.
>> C) Benefits of the master repository being either git or svn, regardless of
>> what clients are supported. (For example, many folks seem to think
>> human-understandable revision identifiers is a benefit of the master being
>> SVN).
>> D) Cost to the project of maintaining support for two different version
>> control systems.
>> 
>> Git advocates on this thread have mostly focused on convincing svn users how
>> much they'd like using git instead. It seems at least some svn users do not
>> believe their quality of life would improve by switching to git, including
>> some who have actually tried git. No one has really identified what benefits
>> there would be to git users if a change is made. Could someone describe
>> those?
> 
> To the global infrastructure :
> - Local history for git. svn log access to the server every time you
> call that command. Will improve the load of the server.
> - Performance of checkouts/pull as data are send compressed from the server.

*) Easier way to setup local mirrors (for buildbots). See discussion at https://lists.webkit.org/pipermail/webkit-dev/2012-March/019699.html

> 
> To git user :
> - Using git push rather than having to use git-svn (which you need to
> keep in sync).
> - Simplified workflow, we don't need to mess with git-svn.
> - Companies who fork (we all do) can simplify their workflow a bit
> regarding branches.
> 
> To svn user :
> - Conflict resolving much easier and performant than svn (we have
> drivers for changelogs and the default one are much better than svn).
> - Local history/blaming/...
> - Proper diff coloration (though I'm sure you guys have some magic
> scripts using colordiff).
> - The staging area, upload what you want/need and keep some work local
> - Smaller checkouts
> 
> The real downside is for the svn users to learn a bit git workflow.
> 
> I'm forgetting stuff for sure.

- Patrick


More information about the webkit-dev mailing list