William Morgan wrote:
A project I'm working on wants to switch away from CVS to SVN. I'm thinking about recommending darcs to them instead. I can make many convincing arguments for the usefulness of distributed, changset-based VC, but what I don't have a sense of is how stable and reliable darcs is. I'll be in big trouble if things go awry. :)
I love darcs. Its syntax is easy to understand, and it's a quick study. I found it took less than an hour to learn everything I needed to use it to manage a project, and currently manage all of my code with darcs. However, I am the only developer on all of these projects, so I can't comment on how well it performs in a distributed environment.
In particular: 1. The first question on the FAQ mentions certain types of conflicts can cause darcs to hang. It then points to a bugreport that is a year old. Is this still an issue? Is it a common occurrence? In such a situation, is it easy to solve, or difficult?
In spite of the fact that I find darcs nearly perfect in concept, hanging has become such a problem for me on some projects that I am looking for alternatives. The problem is that I just can't predict when it will start hanging or returning seemingly unfixable haskell errors (like "Stack space overflow" which doesn't respond to any variation on the suggested "Use `+RTS -Ksize' to increase it." that I try).
There's no doubt that the amount of *change* is significant in the problematic repositories, but the overall size can be large or small. I have other large projects, like web sites or documentation, that contain a mix of text & binary files that are regularly updated, and applying patches works fine. Pulling a specific version can get slow on large repositories, but it still works.
But when a pull or a patch starts hanging, you have no way of knowing when it's going to finish, and it consumes a lot of resources while it's doing it. I just can't take it anymore.
2. How actively maintained is darcs? Is it losing steam? Are bugs being fixed faster than they're being introduced? The last release was 10 months ago---that could be a good sign or a bad one.
Except for the hanging issues, darcs feels like a mature application compared to others. I wish there was an easy way to retrieve a past version of a single file, but other than that, it seems feature complete.
3. I've seen mentions of using Tailor to back up darcs into e.g. CVS. This would certainly help people feel more comfortable, but how reliable is such a setup?
Haven't used it.
Alternatively, if there's another VCS I should be considering (commercial or not), I'd be interested. I really like being able to pick out individual hunks when creating a changeset, and it's not clear to me that the darcs alternatives offer that.
Both mercurial and git look promising. They share similarities with darcs, but I haven't put them in the punishment closet, yet, so I can't say that they offer better performance or enough features to be a complete darcs replacement. Neither feel as mature. If the hanging issue gets fixed in darcs, I probably won't switch. I still think darcs is the easiest and best RCS for me, and will continue to use it on established projects, unless an alternative solves all of the problems and offers the same features.
_______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
