>We're looking into possibly moving to something besides CVS for our >version control. One we are looking into is GNU Arch. Unfortunately, >it doesn't seem to be as well documented, and it seems it might be a bit >immature at this point. It does seem to have some cool features though. > Is anyone here using it, and if so, what are your thoughts?
I've been using arch for personal projects for a while now and find it a breath of fresh air after using cvs over the years. Here are some thoughts: While there are many version control systems these days that give benefits that cvs doesn't (or won't, as I understand it) - like changes at the filesystem level and not just internal to the file, symlinks, atomic commits, etc. - the two things that make one or another stand out above the pack are 1) distributed repositories and 2) smart merging. These two things turn the "version control system" into a useful "collaborative development system" that also does version control. Granted, cvs (or any "centralized repository" system) sort of does this too, but I've always wanted something that did it much better. With distributed repositories and a smart way of bringing them back together, each developer can have his own versions that he's checking in and out as he pleases without caring about syncing up with the main branch, and then trust it'll come back together nicely later on. He can have multiple working copies in asynchronous states, roll back to something he himself did without ever committing to the main, etc. After using arch, I'll always feel handicapped using any system that only allows for a single centralized repostiory. Provided that there are some version control systems out there that handle all the normal tasks just fine, *plus* do the distributed repositories and smart merging, I recommend making those abilities a dealbreaker. As for arch in general, I found it a little hard to get my brain around it completely at first, but it was worth it. I think the repository naming convention is cumbersome, and I recall thinking there were some options that you had to provide a repository name for that I thought you really shouldn't have to (I could be wrong about that). I think it is plenty mature to be used for whatever you'd want to use it for. I thought the documentation was pretty anemic until I found Tom Lords' tutorial, and that got me up to speed. Those things aside, I've just loved using it. All of your normal cvs features, plus those things we're starting to expect from a next-generation version control system, are all there. And then some conveniences like moving a file in the filesystem as well as the version control system all with one command. I keep pushing my place of employment to adopt it and free us from the antiquated and merely adequate (i.e. cvs). They all read plug, so I'm using this as one more opportunity to wear down their resistance. I also looked into darcs a little bit, and my feeling was that it did the distributed repositories and merging very nicely. And I got the feeling its user interface was simpler than arch's. But I felt it wasn't as mature or well documented, and its merging algorithm gave me worries about the possibility of extreme memory consumption. Brett Rasmussen .===================================. | This has been a P.L.U.G. mailing. | | Don't Fear the Penguin. | | IRC: #utah at irc.freenode.net | `==================================='
