[Haskell-cafe] Make your Darcs repositories hashed?
dagit at codersbase.com
Sun Oct 10 00:19:22 EDT 2010
On Sat, Oct 9, 2010 at 8:52 PM, Brent Yorgey <byorgey at seas.upenn.edu> wrote:
> On Sat, Oct 09, 2010 at 03:43:42PM -0700, Jason Dagit wrote:
> > The Haskell.org server doesn't have to be upgraded. Maintainers can
> > a newer darcs locally (cabal install darcs), do the upgrade locally and
> > copy the repository back to the haskell.org server.
> Really? But then the version of darcs on code.haskell.org wouldn't be
> able to read those repositories, which would cause darcs over ssh to
> fail -- wouldn't it? Or am I missing something?
I answered you immediate question in a different email. Now I'll do a bit
of explanation on why people want hashed.
I should also mention that darcs 2.0.2 (which is the version on c.h.o) does
read darcs 2 repositories as support for that feature exists in all darcs
And I personally think that c.h.o should be upgraded to darcs 2.4.4, but
that issue is orthogonal to the issue of getting maintainers to upgrade to
hashed format repos.
Darcs currently has 3 options for repo formats:
* old fashioned
* darcs 1 hashed
* darcs 2 hashed
The old fashioned format will eventually be removed as it's not as robust or
safe as the hashed variants. The big difference between darcs 1 hashed and
darcs 2 hashed is how patches behave when commuted. The darcs 2 hashed
variant is a refinement that better handles some corner cases that result
from conflicts. Something like 90% of the code in darcs is shared between
darcs 1 hashed and darcs 2 hashed.
The hashed formats are more robust because:
* the hashes guard against accidental modification of patches that are
stored on disk
* the hashes guard against a buggy darcs client that misapplies patches
(the hashes would be off, git has similar safe guards)
* the hashed formats have better atomicity and hence better transactional
If you try the hashed format and find it unpleasant for any reason it's
something to report as a bug. We really want (and need) people to switch to
hashed, so if it's not good enough we need to know why so we can fix it.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe