Re: Migrating to Subversion

From: Robert Collins <robertc@dont-contact.us>
Date: Sat, 06 Oct 2007 07:35:08 +1000

On Fri, 2007-10-05 at 09:43 -0600, Alex Rousskov wrote:
> Hello,
>
> With Squid 3.0 branching event approaching, perhaps now is a good time
> to decide whether we want to switch from CVS to Subversion?
>
> Pros:
> + Many consider svn to be "overall better" than CVS.

Its branch model is terrible.

> + Svn supports renaming and moving files (we may want that for 3.1).

Actually, its supports copies, not renames. Its rename command is built
on a copy primitive, the same as it uses for branch. Elegant in some
regards.

> + Svn working copy diffs are very fast (no network delays).
> + Svn handles binary files and keyword substitution better.
> + Branching and tagging is a much simpler concept in svn.
> + SorceForge svn services may be faster (I do not know that).
> + Subversion offers more remote access methods (e.g., WebDAV).

> Cons:
> - Some consider svn to be "overall worse" than CVS.

I am one of those, especially when the cvsnt groups' work is considered.

> - Lossless migration is possible, but takes time/work.
> - Henrik's CVS scripts will need to be changed to support svn.
> - Some CVS veterans will hate svn branching and tagging.
> - Some svn newbies may modify tagged snapshots.
> - Some web pages and scripts accessing CVS will need to be changed.
>
> Did I miss anything important?

svn is a poor choice today, projects that have moved to svn are already
moving on a step further to the generation of distributed version
control systems that have matured.

> Do pros outweigh the cons?

I'd really encourage a migration to bzr, http://bazaar-vcs.org/, if we
are to migrate at all.

Pros

----
 * Distributed [no requirement to sign up or join a group in order to be
able to use the full vcs power, and a bunch of corollaries like very
fast local logging and history bisection etc].
 * Has a centralised 'svn-like' capability built in for projects that
want/need it.
 * Renames and moves supported
 * Binary files - check
 * Branching and tagging is simpler than CVS and more managable than
svn.
 * Like svn, can operate over http/ssh/custom wire protocol but also
adds ftp support and other dumb protocols [with commensurately lower
performance due to latency multiplication].
 * Written in python - trivially extensible
 * I am a core contributor to it; so support is readily available :).
 * Disk storage overhead is lower than SVN
Cons
----
 * Sourceforge don't offer bzr hosting. (The distributed nature lowers
the value of a separate 'devel' site though, and launchpad.net does
offer hosting if we want it)
 * As above, lossless conversion does take work.
I don't think VCS migration is at all coupled to the 3.1 branching.
-Rob
-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.

Received on Fri Oct 05 2007 - 15:35:13 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Oct 30 2007 - 13:00:03 MDT