Re: Distributed SCM in Gnome (Was: Git vs SVN (was: Can we improve things?))
- From: Soeren Sandmann <sandmann daimi au dk>
- To: Behdad Esfahbod <behdad behdad org>
- Cc: desktop-devel-list gnome org
- Subject: Re: Distributed SCM in Gnome (Was: Git vs SVN (was: Can we improve things?))
- Date: 11 Sep 2007 22:37:55 +0200
Behdad Esfahbod <behdad behdad org> writes:
> On Tue, 2007-09-11 at 11:41 -0400, Bryan Clark wrote:
> >
> > GNOME is not in need of a DSCM or any other kind of new SCM. For
> > source control, SVN works fine, just like CVS worked fine.
>
> You probably have not used git-bisect before. After you use it once,
> all you can do is regret all the time you've spent manually bisecting
> using CVS/SVN. This even happened to me yesterday. Bug 474897:
This is true. There are issues with git, most importantly that it was
written by someone for whom usability is not, um, a core competence,
but is has a couple of killer features over CVS/SVN:
* The abilty to commit offline
This is important because it allows you to develop a new feature and
actually commit the intermediate broken stages without inflicting
them on the rest of the world. This means basically that you get the
benefit of source control even when developing separate
features. SVN branches in principle provide the same facility, but
in practice people don't use them much because it's a Major Project
to create them and merge them.
It also means you can commit on a plane or when you otherwise don't
have internet access, but this is only a minor benefit.
* Bisect, as Behdad says
There are also a couple of non-killer improvements:
* Performance: git is consistently fast; svn is slow.
* The git changelog shows the commit id, so you can very quickly get
at the patch corresponding to a changelog entry. This is important
because often you can guess from the ChangeLog what commit might
have introduced a particular bug.
In svn, as far as I know, you have to first "svn annotate" the
ChangeLog, which takes forever, to get the revision, then issue some
complex commandline to look at the actual patch. In git it's "git
log", then "git show", and the response is instant.
And of course, for distributions the ability to pick out patches for
backporting is extremely useful.
Is switching to git worth the cost of having everybody learn a new,
different and fairly arcane system? I don't know, but note that the
"we just switched to SVN, let's not switch again" argument is a "sunk
cost" fallacy.
If switching to git is worthwhile, then it's worthwhile independently
of previous decisions.
Soren
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]