I don't mean to whack a hornet's nest here, but recently I've had a
very disturbing issue with darcs where it corrupted its repository on
a company project.  I found myself in a situation where I needed to
fork a single project and merge them at the end (I was hacking in both
forks independently).  Upon merging, darcs would go off the edge of
the world, never to be seen again.  It was a genuine infinite loop --
left for hours, no RAM consumption was measurable.  I'm not sure why,
and have _not_ been able to replicate it since.

Considering I was using this for company proprietary code and data, I
decided to give git a try. Heck, it works for the kernel developers,
so it has to work for my meager amounts of code too, right?

Holy criminey, this is one extremely hard to use tool.

On the surface, it's pretty easy.  It's like a bastard child of CVS
and darcs in terms of its commands.  But, here again, I found a
critical problem, which I replicated at home using my website as the
guinea pig: I created a repository in the HTML hierarchy, thinking,
"OK, I can have my web repository and the code be available via the
same repo for easier maintenance."  I then cloned the repo, made some
changes, and "git push"ed the changes.  Looks like everything worked
great.

Except it didn't.

If you "git clone" the repository again to another location, the newly
updated data was there.  But in the original repository, the web page
still showed the old contents!!  After four hours of _fruitless_
research on the Internet, since "git pull" failed under ALL
conditions, I finally did a "git reset --hard" ("git reset" without
the --hard option also failed).  This reset the entire state of the
repository in its entirety.  This was the *ONLY* way to fully
synchronize the state of the repository.

What kind of SCM tool behaves like THAT?!  Christ, even CVS works
better than this.

However, git has something darcs doesn't yet have -- stability and
speed.  I would like this e-mail to be interpreted as a plea, to all
developers involved, that stability issues need to be worked on.  I
can deal with the speed issues, as long as the stability is there.
But, don't ignore speed all-together.  I think the biggest reason for
git's popularity is its performance (Linus claims 4 merges per day,
which considering the size of the Linux repository, is quite
impressive).

I really wish I had the knowledge to be able to contribute to darcs in
a way more significant than this "customer testimonial" and "market
research findings."

--
Samuel A. Falvo II
_______________________________________________
darcs-devel mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-devel

Reply via email to