-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I've locked the CVS repository to prevent any commits and am in the process of migrating source control to bzr. I'll be posting documentation on how to use bzr in a few days when everything is sorted out. Also I am going to write scripts that will automate the entire download-configure-compile cycle, so it should be possible to start with a single tiny shell script and issue a single command and (ideally) have it fetch and build the latest versions of all of VOS with no user intervention.

BZR has many compelling advantages over CVS/SVN. The main ones for us are:

- Local branching: you can make a branch from the repository to work on, keep your changes in local revision control and then merge and push them into the trunk. This makes it much easier to work on major changes to the tree (which may not be ready to merge into the trunk for days or weeks) or have several branches for different projects that arn't related.

- Branches are portable: you can tar up a branch (it's just a directory), send it to someone else, they can untar it and start using it (get updates, make commits etc) immediately.

- Anyone can branch: users make a branch on their computer and can start working on it without the fear that updating from the trunk will clobber their changes

- Better moving/rename/delete handling (at least that's what Lalo tells me, and almost *anything* is going to be better than CVS).

- It is very easy to host, it just requires an plain http or ftp server for read-only access, and provides write access over sftp (ssh).

My overall impression from playing with it and seeing how it works is that bzr feels very well designed. Files are given a globally unique id which is used to track it wherever it goes, which means it is not bound to any particular server. The aha! moment for me was when I had deleted a vos branch I was playing with and went to do a fresh checkout from the server. Bzr knew that it had already downloaded these files into its local repository, and so the checkout took only a few seconds -- because it knew it already had stored the files.


If need be, we can using a program called "tailor" set up a job that will reflect changes in bzr into CVS. I'd prefer to avoid that, though. Rather, what I'm going to do is set up a job that creates a nightly tarball of the bzr branch. People will be able to download this and just use it as source checkout, or if they have bzr, be able to use it as a basis for getting updates, doing local development, etc.

The main drawbacks with bzr are that a) people don't know it and b) the current version is slow. For (a) I will be writing tutorials on how to use it. Also, for the base case of "I want to download and compile the latest version of VOS" I am going to provide shell scripts which handle the entire process from checkout to configure to compile, so new users won't even need to use bzr beyond installing it. For (b), performance is really only a problem for checkouts (which do take much longer than the equivalent CVS checkout); the developers of bzr are working to rectify this problem in the next versions. We can get around this issue by having people download branch snapshots. As I stated, bzr branches are portable, you can move them around from place to place and system to system very easily.

I hope to have the migration and new build tree ready this weekend, so we'll be able to get on with actual new development.

[   Peter Amstutz   ][ [EMAIL PROTECTED] ][ [EMAIL PROTECTED]  ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFEZB3UaeHUyhjCHfcRAvXnAJ0Xhujm+JgIkJ3y5fARqWTDTtDytQCffYAY
/m5yM0ZsmLArXsExbVwMr3o=
=3EsU
-----END PGP SIGNATURE-----


_______________________________________________
vos-d mailing list
[email protected]
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d

Reply via email to