Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlug] Great Git resources



Raymond Wan writes:

 > I hope this doesn't start a flame war :-), but in your own 
 > words, can you explain why you are using Git as opposed to 
 > (say) Subversion?

The big things for me are the DAG[1] is exposed and can be mutated[2]
(aka "branching flexible enough to make a Chinese acrobat drool", YMMV
but this is #1 for me), zero admin[3] (repository in workspace), speed
(repository is local), and redundancy (repository is local).  I don't
see anything not to like about the last three.

 > I'm a Subversion user and after reading a few sites, I found a
 > handful of people who switched from Subversion to Git, but then
 > went back.

URLs?  I hang out in a very DVCS[4]-prone crowd, so I wouldn't
necessarily see such posts, but ... I'm surprised.

For counterexamples, my own project XEmacs switched to Mercurial (from
CVS; Subversion was *never* in the running, although often discussed)
about 3 years ago, Python is in the process of switching from
Subversion to Mercurial now (http://www.python.org/doc/peps/pep-0374/),
and Emacs switched from CVS to Bazaar many months ago (again,
Subversion was never seriously considered).  And of course X.org is
now using git.

 > So, I haven't switched.  I guess Git is great, but not for
 > everyone?

True, git is not for everyone, but between git, Mercurial, Bazaar, and
Darcs you ought to be able to find a DVCS that's right for you.  There
are a few others out there, but those are the Big 4.

 > to the previous one.  But Git seems to me like just a 
 > "different" way of doing things; not necessarily better...

There's no question any more that git is better.  But!!  RCS is
perfectly usable in its place, as is Subversion.  If Subversion works
for you, don't change until it stops working for you (well, preferably
about 6 months before it stops working for you!)  But Subversion is
going to end up as a "legacy app" within a few years unless they do
something about their awful branch and merge facilities (better than
CVS or RCS, but talk about damning with faint praise!)  And they know
it, too.

Even Karl Fogel (more or less) privately admits that Subversion's
feature set is currently dominated by git, Mercurial, and Bazaar,
especially the last.  It's no longer even possible to use Subversion
to enforce a centralized workflow, as it's very easy to use Subversion
to initialize a DVCS with (enough) history to be very attractive to
those who like DVCSes.

Footnotes: 
[1]  Directed acyclic graph -- nodes are commits (aka revisions), arcs
are patches.

[2]  More precisely, the DAG is eternal and immutable, but the human-
readable references can be manipulated so that you feel like you're
editing the DAG ... in near-perfect safety.

[3]  Yes, of course I'm cheating.  If you have a *public* repository,
you need to admin it.  But ... git needs *very* few write-locks, and
never read-locks.  That eliminates the most common admin headache.

[4]  Distributed version control system.




Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links