[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: CVS v. SVN

From: Saulius Grazulis <grazulis_at_akl.lt>
Date: 2006-02-24 07:36:31 CET

On Thursday 23 February 2006 17:33, Mark Galbreath wrote:

> I understood the differences between CVS (a locking reporsitory) and SVN (a
> merging repository).  

Well, I would put it this way:

SVN (and CVS) merge in your working copy, *not* in the repository. You will
not be able to commit to an SVN repository if your working copy is out of
date (i.e. contains unmerged changes); you will have to update first ('svn
update') and during this update merges will happen. If while merging *in your
working copy* conflicts arise, they will be marked as such and you will only
be able to commit when you resolve all conflicts (most probably manually, and
then tell Subversion that 'svn resolved').

In this way, SVN repository is always kept free of conflicts (a good
invariant, I should say ;).

The repository server does not care about merging changes, it only accepts new
updates (commits, "patches" if you want) from up-to-date clients. Right?

> Then tells me that
> developers can walk on each other's code with CVS, but not SVN because SVN
> locks write access.

Not quite true, I would say.

Locking appeared, I guess, only in subversion >= 1.2.0 and is in general
neither necessary nor sufficient for cooperative work since subversion merges
changes automatically when it can, so true conflicts should be rare and
ability to edit the same file in parallel should increase team's

There are, however, situations were locks are very useful (e.g. when editing
binary files like images which no one knows how to merge properly).

I am not much familiar with CVS, but I guess CVS can also merge changes in
working copies, without locking. In this respect it is similar to SVN; yet
Subversion has many other cool features (cheap branching, atomic commits,
easy setup, symlink support -- name your favorites ;) that CVS lacks.


Dr. Saulius Gražulis
Visuomeninė organizacija "Atviras Kodas Lietuvai"
P.Vileišio g. 18
LT-10306 Vilnius
Lietuva (Lithuania)
tel/fax:      (+370-5)-210 40 05
mobilus:      (+370-684)-49802, (+370-614)-36366
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Feb 24 07:57:45 2006

This is an archived mail posted to the Subversion Users mailing list.