The three primary problems I have with GNU Arch are:
- The user interface is nearly unusable. Without zsh tab completions, it is unusable.
- Arch is very slow over a network.
- Arch is very slow not over a network.
However, Arch is only VCS that makes branching and merging so natural that I do it regularly. As a result, I develop software and even documents in a way that is fundamentally differently (and better) than the way I have in the past.
Arch is the worst kind of good software; or perhaps the best kind of bad software. The more you use it, the more you hate it; unfortunately, the more you use it, the more you hate all the alternatives more.
Using arch is not a type of masochism, but sometimes it reminds me of masochism a tiny bit.
So. Have you tried svk yet? Its UI is much cleaner. It’s speedier than subversion and it makes branching trival and automatic. (Yes, it’s got smart-merge built in)
Have you tryed Code Ville? I use it and love it. It is not 100% done (no binary suport and a few othere issues) but it keeps a complead dag of the change sets and mergeing and branching are supper easy.
http://codeville.org/
Disclamer. I have the devloper at hand so when somthing brakes, rare, or is missing I can just beet him with a stick untill he fixes it.
You should try Bazaar. It has all the power of Arch, but changes the UI to make it far saner.
I do use Bazaar. It’s worlds better than TLA and is quickly moving in the right direction but still has some way to go. I used “Arch” to refer to the two of them together.
Mako, what’s wrong with SVN? Everything you have said can be done with SVN. Oh and you have a huge choice in GUI front-ends.
Sean,
The lack of a distributed model is a killer for subversion. It is very annoying in a large number of ways. Consequently, merging things back tends to be much much more difficult and there is no support for things like history sensenative merging, cherry picking, etc. etc. Subversion is a different paradigm so it should not necessarily do all of these things.
If you have never used and really understood a distributed system, I suggest you try it. I’ve found that understanding distributed version control is like building up a vocabulary with which you can describe and solve problems. Without the vocabulary, you can’t really imagine why it would be useful. I didn’t until I was basically forced to learn Arch.
There is a system called SVK which is a full distributed system based on top of SVN which much of the same interface. I am extremely interested in that.
I’m a RCS/VCS newbie, but in my limited experience svk and darcs are both excellent. Darcs is apparently slow on large projects, and it has a few other minor shortcoming, but it’s EASY. And very clean.
svk is wonderful, though overkill for the small projects I’m working on. It is a little more complicated than darcs, but it seems impressively powerful.
Good luck on your search!