"TS" == Tim Starling ts4294967296@hotmail.com writes:
TS> However, I'm certainly not doing new features at the moment -- TS> it's been far too long since the branches were last merged, so TS> I'm working on cleaning up the unstable branch, not TS> optimisation.
So, this is kind of a non-sequitur, and a response to a really old post, and pretty much a commercial for some good Free Software. But, anyways...
I've noticed that it's really hard keeping unstable and stable in synch. I know that that's hard -- doing any branching and merging in CVS is hard.
I just want to put the flea in anybody who's listening's ear about GNU arch.
http://www.gnu.org/software/gnu-arch/ http://gnuarch.org/bin/view/Main/WhyArch
Arch has some features that are really great for distributed development teams like MediaWiki's:
* Distributed repositories: individual developers can have their own repositories, so they can do incremental version control, and then push or pull stuff from a central repository.
* Pull-based distribution: few people have to have write access to the central repository. A source monitor can pick and choose changes from remote repositories. In other words, no more patch files.
* Extremely graceful branching and merging: Branching and merging in arch is a delight. It works. It really works. Conflicts are rare and easy to resolve. Repeated merges (merging between branches more than once) is handled automatically and cleanly.
* Project-based change management: versioning is done by the project directory, not by individual files. (You can check in individual files if you want to, though.)
* Automated Changelog generation: arch can make and version GNU-style changelogs automatically.
* Multiple access protocols: arch can use HTTP, WebDAV, sftp, ftp, NFS, and some other protocols for remote access (read-only or read-write). A combination of sftp (for developers needing write access) and HTTP (for people needing only read access) works great with SourceForge.
arch is stable software, written in C (old versions were shell + utils, but it's all C now).
MediaWiki is the first project I've worked on using CVS in over a year. I've been using arch since then, and I have to tell you: CVS is really painful after spending time with arch. I keep a private arch repository for Wikitravel-specific changes to MediaWiki.
I realize that changing version control systems probably isn't at the top of anyone's TODO list. I just want to put it out there that there's an easier and cleaner tool than CVS.
~ESP