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