[Xapian-devel] Subversion?

Olly Betts olly at survex.com
Wed Feb 16 05:00:05 GMT 2005


I've been wondering if we should consider migrating from CVS to
Subversion (aka SVN) for version control.  There's a utility (cvs2svn)
to convert a CVS repository while keeping full history.  And SVN is
supported by viewcvs (as used by http://cvs.xapian.org/)

The main motivations are:

* CVS doesn't really handle renaming files well.  Either you "cvs rm"
  then "cvs add" and have to manually step between files when diffing
  back past the rename.  Or you copy the raw ,v file (ick) and "cvs rm"
  the old name.  But then both the files appear if you check out or
  diff from a date or tag before the rename.

  It's purely historical that maybe half our source files start "om",
  but at the moment it'd be annoying to rename them all.

  We also agreed to merge xapian-examples into xapian-core - better
  renaming support would help here too.

* CVS doesn't store the concept of a commit.  SVN provides a revision
  number for the whole repository, which would make it much easier to
  use the tinderbox results to pick good snapshot tarballs.  Currently
  the CVS snapshots are known to bootstrap and pass "make dist" which
  doesn't catch most breakage.  With SVN we could also label snapshots
  with the SVN repo revision number.  With CVS the best we could do is
  to poke around and find a suitable datestamp for use with -D, which is
  much harder to do.

  It's also fiddly to produce the diff corresponding to a particular
  ChangeLog entry (or set of entries) with CVS.

SVN also supports disconnected use (via svk), which some might find
useful (though Richard no longer has to suffer with dial up).

SVN seems the obvious candidate, as it's not so different that there's
much of a learning curve (e.g. "svn diff" instead of "cvs diff", etc)
but it addresses the most annoying failings of CVS.

However, I haven't actually used SVN in anger, so would welcome comments
from those who have.  Or any other comments on the idea for that matter.

We (i.e. James) would also probably need to install a more recent
version of SVN on ixion...

Cheers,
    Olly




More information about the Xapian-devel mailing list