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

RE: CVS/SVN comparison

From: Monks, Peter <peter.monks_at_vignette.com>
Date: 2004-10-23 02:14:01 CEST

G'day again,

> No you wouldn't. It would be perfectly acceptable for a CVS
> replacement to provide extensions to CVS's functionality. But a
> CVS replacement has to include all of CVS's current features and
> SVN doesn't do this. It has features which could be used to
> implement the missing CVS features.
> The most useful CVS features that fall into this category
> are tags and branches.

?? Subversion does implement tags and branches, albeit via a
different mechanism than CVS (ie. "zero cost copies"). This is
discussed in some detail in the SVN book (http://svnbook.red-bean.com/)
and has been discussed ad nauseam on this list.

And yes I have read many of the posts that argue that Subversion
copies aren't "real" tags or branches "because they're not implemented
the same way as CVS / VSS / insert-your-favourite-SCM-tool-here does
it". IMVHO these arguments completely miss the point: Subversion
supports the exact same use cases that CVS / VSS / what-have-you
support, just in a different way.

Now I'd agree that there are some small tweaks that would improve
Subversion's copy functionality (eg. immutable copies perhaps),
however to my mind these are all minor quibbles - Subversion's basic
abstraction of tags and branches as copies is a fundamentally sound
model.

> If you don't think this matters compare the usefulness of the
> CVS based team interface in Eclipse with the SVN based team
> interface (subclipse) in Eclipse.

I completely agree that some of the add-on tools for Subversion don't
yet match up to some of the add-on tools for CVS. But:

1. the maturity (or lack thereof) of add-on tools for Subversion
   doesn't have anything to do with the maturity (or lack thereof) of
   the core Subversion software, nor with the integrity of
   Subversion's basic design

2. I have faith that the add-on market for Subversion will grow and
   mature at a far faster rate than it ever did with CVS (although I
   was only an active CVS user for about 5 years, so perhaps the add-on
   market for CVS was more dynamic prior to my exposure to it)

> The difference is most visible when you wish to do something like
> compare a working copy with an arbitrary branch or version. This is
> easy for the CVS based version but unavailable in the SVN based one
> probably because it's got no easy way of finding the other branch in
> the repository (it requires knowledge only available in the person
> who planned the repository's head and that's difficult to extract
> programmatically).

True. And there are other functions (such as reserved checkouts) that
Subversion is missing too, however none of these are incompatible with
Subversion's current design, and hence can't be used as proof that
that design is fundamentally flawed in some way.

> So while SVN may be useful and have the same general purpose as CVS,
> it is NOT a replacement for CVS and shouldn't be advertised as such.

I guess we'll have to agree to disagree then.

I've used CVS quite extensively for a reasonable amount of time, and I
can't think of a single thing that I've lost by switching to
Subversion. Add to that the fact that many of the most annoying
limitations of CVS are gone and I'm comfortable in describing
Subversion as a "compelling replacement for CVS".

> It does, however, have useful features that CVS lacks but on the
> other hand it lacks some useful features that CVS has (i.e. a user
> friendly tag/branch interface).

Unless CVS has changed greatly in the last 6 months, it doesn't
include a user friendly tag/branch interface either - that's provided
by add-on tools (such as the Eclipse CVS UI you mentioned earlier).

Cheers,
Peter

----------------------------------------------------------------------
Peter Monks http://www.sydneyclimbing.com/
pmonks_at_sydneyclimbing.com http://www.geocities.com/yosemite/4455/
----------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sat Oct 23 02:14:20 2004

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.