[webkit-dev] An incremental approach (was Re: UPDATED Re: Version control survey)
Alp Toker
alp at nuanti.com
Sat Mar 10 15:08:44 PST 2012
On 10/03/2012 21:46, Maciej Stachowiak wrote:
>
> In my opinion, the level of SVN use shown in both surveys indicates to
> me that we should probably keep supporting it, unless most of the SVN
> users would want to switch to Git. In particular, the second survey so
> far is showing that SVN use is somewhat higher among committers and
> reviewers than among the general population.
This raises an interesting point.
The repository at git.webkit.org is not so great to work with as a
committer / reviewer, and as Mark points out it's not too friendly on
the servers either.
As an incremental approach, it might be a good idea to first resolve
some of the issues in the mirror, including its layout and usability vs.
SVN.
Without this work being done, the benefit of git over svn is not so
clear to me.
The way I see it, a better mirror would address:
*ChangeLogs*
The ChangeLog entries in the git history mean every local merge, revert
or cherry pick is non-trivial, so you get an ugly non-linear history
whether or not you use a tool to auto-resolve ChangeLog conflicts.
Possible solution would be to do a new migration where the ChangeLog
entries are folded into the commit message the files themselves are
eliminated from the history, as if they never existed.
Maybe keep the original ChangeLog in an overlay branch for posterity,
since these files are sometimes hand-edited after the fact.
*Author Names
*The committer names don't have the full author name in the git mirror
right now, just an SVN id. This info could be extracted out of a
database or the ChangeLog message if one exists, during import. People
switch companies and email addresses over time, so that would have to be
accounted for.
This could go some way to alleviating Oliver's concern about inflation
in reviewer / committer population by corollary:
If the history is transformed to identify the author of an external
contribution in cases where the patch is landed by a reviewer or
commit-queue at webkit.org, these guys would see their name next to their
work and get credited on places like Github and Ohloh.
Would result in less pressure amongst casual contributors to get commit
access, especially for those who care about the 'creds' or are doing it
to improve their CV to get a pay rise.
*Layout and repo size
*
The git repository with full history is enormous.
I don't really need the full history of every pixel test result for
every port, ever, including long-dead ports, and likewise don't really
want to pull it every time the expectations get updated.
It's not so much about disk space (everyone has plenty these days).
The bigger problem is that git grep and git pickaxe search through local
git history is so slow you actually end up having a better experience
using the search feature on Trac. One less benefit over SVN.
A proposal (or even better, proof of concept) for git repository layout
where the 'heavy' generated paths are split out into git submodules
separate from the source code would make me feel more comfortable with
the whole idea. Also, should be possible to do a shallow clone of these
yet still be able to commit and push back upstream (if git supports
this, git experts?)
I did some of the early WebKit git tooling but to be honest this is a
lot of work for someone to take on. But seeing some of the energy in the
debate, someone might be willing to have a go.
I do think that addressing these issues before advocating a switch would
strengthen the case, at least with reviewers who had a mixed experience
like mine.
Regards,
Alp
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20120310/976ee6c2/attachment.html>
More information about the webkit-dev
mailing list