For me the key differences between git and svn come down to development
model. In general, they can both be made to do the same things and which is
easier to “bend to your will" comes down to how you prefer to work.
If you have a defined group of people working on a project, and want to have
a single “official” version of the project, svn works more with this model.
If you want lots of people to be able to contribute and to be able to pick
out their changes for inclusion in your official project, while giving them
more flexibility about maintaining their own variants, then git is better.
Git also handles working offline better, and svn means there is only one
repository to back up, containing everyone’s branches.
Note that you can also use a combination of Git and Svn, to keep a central
repository somewhere in svn for the official version, and a git copy on each
person’s computer with their own branch.
The pros & cons are fairly complex, so its hard to clearly say one is better
than the other. I can see why Linus would prefer Git for the kind of work he
does. For the kind of work I do, I prefer svn.
The stack overflow article suggested previously in this thread might help
with the differences in merging. I find svn merging is fine if you have one
“mainline” and multiple branches of it for features or bugfixes, but if the
model gets more complex then so does merging.
On 25 May 2010 08:24, Stanimir Stamenkov <s7an10_at_netscape.net> wrote:
> Mon, 24 May 2010 17:49:22 -0400, /David Weintraub/:
> Many people think that Git MUST be better because Linus Tolvards uses it.
>> But, that's mainly because of the way the Linux project operates.
>> I've had developers tell me how much better Git is when they work with on
>> their own one-man projects because Git is "distributed"...
> The main points/questions raised were not about "distributed" but "It seems
> that the svn commands are actually longer than git" (which is a nobrainer in
> my opinion) and "Does svn offer all the capability that gits offer in terms
> of branching and merging (ignoring performance issues)?".
> I personally like Mercurial best and Linus Torvalds doesn't use it, as far
> as I know. :-) It handles branching and merging better than Subversion in
> many cases. It is that I've used Subversion (and CVS prior that) much
> longer and I still need to use Subversion most of the time. However knowing
> Mercurial I've been able to keep two SVN branches in sync - one featuring
> lots of moves/renames, for months before I had a chance to reintegrate all
> the refactorings back to the main development branch (using something like
> hybrid working copies), with little effort while it appeared impossible
> using Subversion (I had been getting hundreds of tree conflicts on every
Received on 2010-05-25 04:28:47 CEST