-----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