I'm currently using both CVS and GNU Arch (tla), but I'm not
completely happy with either of them. I'm sure everyone here is
familiar with CVS' problems, but I will list the ones that matter
most to me:
o No changesets
o Commits are not atomic
o Branching is complicated
Arch improves all of these, but it is too different from CVS.
There are cases where I /don't/ want changeset-type commits.
For instance, I use CVS for a large collection of shell scripts
that I store in a single directory. The scripts are totally
unrelated, so I want each one to have its own history. As far
as I can tell, this is not possible with Arch, so I'm using CVS
for some projects, despite the branching problems. Also, Arch
is still very slow on large projects.
Subversion seemed very interesting, due to the fact that it focuses
on the issues that are important to me (fix problems with CVS)
rather than trying to create a decentralized SCM like Arch and BK,
which I have no use for. The first time I looked at Subversion,
I turned it down because it wasn't safe to put the repository
on NFS. I hear that's fixed now, using FSFS instead of BDB,
so I'm reconsidering using it.
First of all, can Subversion do both single file history (like
CVS) and be changeset oriented (like Arch)? Secondly (and more
importantly), is it possible to make Subversion store the pristine
copy /outside/ the working copy? I had the same problem with
Arch at first, and I hated it: ctags, cscope, grep -r, find,
and other recursive tools would get confused by the extra copy
of every file, and I don't want to be bothered with having to
exclude the meta directories. Arch had a nice solution for this:
revision libraries stored outside the working copy. I don't mind
a few meta files in the working copy, but keeping an extra copy
of the entire source tree under there was just too annoying.
(I apologize if this message appears twice; it appears that my
first attempt to post failed without errors because I wasn't yet
subscribed to the list, but I can't be sure.)
To unsubscribe, e-mail: firstname.lastname@example.org
For additional commands, e-mail: email@example.com
Received on Fri Dec 10 04:12:12 2004