uses "CVS" for mainline most people people can check out; it uses
"arch" for manging branches where developers do experiments.

I found arch very interesting, and I am using it for GNU sed and GNU Smalltalk. I liked very much the idea of working offline, and the very small requirements that are placed on the server (you only need a HTTP server with support for FTP or SFTP uploads). The latter is probably the only reason why I won't switch away from arch for a while.

It is also extremely nice to make queries such as "tell me which patches I applied into the stable branch, coming from the development branch".

On the other hand, it simply does not scale. For GNU Smalltalk, which has a 4 megabyte tarball and 1084 versioned files, it takes some 20 seconds to do a commit (I'm going by memory, maybe it's more). Performance improvements have been made in the last few months, as well as user interface improvements, and I have not yet upgraded; but the overall picture is the same.

Personally, I have been grateful that my regression-fix patches touch only one or two files plus the ChangeLog. It's been an annoyance to backport them even if they were this simple. With arch I simply did

   tla replay smalltalk--devo--2.2--patch-45
   tla commit

and with subversion it is more or less the same.

Yes, it requires more setup. On the other hand, I never knew about connection multiplexing for example, and I think I'll use it for other machines I often ssh to (not only gcc.gnu.org), now that I know about it.

Paolo

Reply via email to