Subversion? (Re: HEADS UP: Importing csup into base)

Dag-Erling Smørgrav des at des.no
Sat Mar 4 08:26:42 PST 2006


Duane Whitty <duane at greenmeadow.ca> writes:
> IANAE on VCSs but I have been doing a lot of reading of late
> concerning the differences between VCSs.  I really believe SVN has
> some extremely compelling features but the way it does/does not do
> its tagging is, I believe, an important concern.  If I understand
> correctly it is the whole repository that gets a version number and
> not individual files.

That is also the case for Perfoce.

> Here is one of the URIs I used for information which is a feature
> summary and comparion (by no means exhaustive) between CVS and SVN.
>
> http://www.pushok.com/soft_svn_vscvs.php

The author's claim that Subversion does not have tags is incorrect.
Subversion implements tags in the same manner as it implements
branches: through namespace operations.  A tag is actually a branch
which the developers agree not to commit to; this may seem strange,
but can actually be advantageous in the rare-but-not-unheard-of case
where we need to "slide" a tag, since Subversion will maintain a
history of that slide.

The author also does not understand the point of Subversion's file
properties.  Subversion has a single, consistent mechanism for storing
metadata, and unlike CVS, those metadata are versioned.  The types of
metadata stored by Subversion include:

 - execute bit (svn:special) which is not well supported in CVS

 - mime type (svn:mime-type) and character set (svn:charset) which CVS
   does not support at all.  Subversion uses a file's mime type to
   determine if it is text or binary; CVS uses an unversioned flag (b)
   in the ,v file.

 - ignored files in a directory (svn:ignore) for which CVS relies on a
   special file called .cvsignore.

 - any other information you which to place there; for instance, SVK
   uses svk:merged to keep track of which revisions have already been
   merged when you merge changes between branches.

DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the freebsd-arch mailing list