Coming back from deep orbit

schwern on 2003-03-22T01:34:23

After many months of self-repair work and generally enjoying life in Portland, its time to bring some code up to date. Especially with the impending release of 5.8.1, MakeMaker, Test::More and Test::Harness all need releases. To anyone with VMS knowledge, I need my Compaq TestDrive account re-Unixified.

I'm currently switching development from CVS to Aegis which will cause some short-term disruption. Conversion of my repositories was easy, but brane retooling might take longer.

Time to make Jarkko's life miserable again.


Aegis vs the competition

nicholas on 2003-03-22T17:39:31

I'm currently switching development from CVS to Aegis

Why did you choose Aegis over other version control systems? For example, what does it have or do better than CVS? And why is it better or more suittable than (say) subversion? I've had a quick google, but I can't spot any good online articles comparing the merits of the various source control systems, and which provide more than just source control.

Re:Aegis vs the competition

rafael on 2003-03-22T20:28:22

From what I know (not being an Aegis user), the big functional plus of Aegis vs the rest of the world (except BitKeeper) is support for distributed repositories. However I don't see how it's a benefit for project where only one or two people have commit access.

Moreover, from Aegis webpage, I see that Aegis enforces a development process which requires that change sets "work" before they may be integrated into the project baseline. That's attractive for QA people. (It's possible to do something similar with subversion -- pre-commit hooks --, but that's probably more difficult.)

Re:Aegis vs the competition

schwern on 2003-03-23T06:48:57

I got sick of CVS. Subversion isn't quite ready yet. I've used Aegis in the past and liked it.

As far as being a superior version control system:

. Sensible branching. In fact, you're almost always working in a branch.
. Change sets (it even figured out change sets when I dumped my CVS repository into it)
. Free (as opposed to Perforce, say)
. Old and Stable (in a good way)
. Sensible cross-branch integration. ie. I can easily clone individual changes from one branch
    to another.
. Easily develop multiple changes simultaneously
. Easily move and rename files.

But Aegis isn't just a VC system. Its a change control plus build, test & review automation and enforcement. With Aegis I can:

. Take a bug report or feature request and formalize it as a change "Awaiting Development"
    and then pick up on it later. I tend to forget lots of things and lose patches.
. Display a list of pending changes and those in progress. A handy cgi program will let other
    people know what's going on and possibly work on things awaiting development.
. Completely automate the build and test process refusing to allow a change in unless
    it builds and passes tests (much easier than screwing with CVS hooks or shell aliases)
. The review enforcement forces me to look over my patches one last time before I commit them.
. Plays well with RT, and getting better.

Finally, the distributed repository feature means people can download the entire repository, make some changes or work on a change, do diffs, etc... and hand it back to me for integration. I don't need to screw around with giving people accounts for them to use the VC same as I do.

Its got its nits, and it will feel very foreign to CVS users, but it does what I want.