<br><br><div class="gmail_quote">On Sat, Oct 9, 2010 at 8:52 PM, Brent Yorgey <span dir="ltr"><<a href="mailto:byorgey@seas.upenn.edu">byorgey@seas.upenn.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Sat, Oct 09, 2010 at 03:43:42PM -0700, Jason Dagit wrote:<br>
><br>
> The Haskell.org server doesn't have to be upgraded. Maintainers can install<br>
> a newer darcs locally (cabal install darcs), do the upgrade locally and then<br>
> copy the repository back to the <a href="http://haskell.org" target="_blank">haskell.org</a> server.<br>
<br>
</div>Really? But then the version of darcs on <a href="http://code.haskell.org" target="_blank">code.haskell.org</a> wouldn't be<br>
able to read those repositories, which would cause darcs over ssh to<br>
fail -- wouldn't it? Or am I missing something?<br></blockquote><div><br></div><div>I answered you immediate question in a different email. Now I'll do a bit of explanation on why people want hashed.</div><div>
<br></div><div>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 2.x clients.</div><div><br></div><div>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.</div>
<div><br></div><div>Darcs currently has 3 options for repo formats:</div><div> * old fashioned</div><div> * darcs 1 hashed</div><div> * darcs 2 hashed</div><div><br></div><div>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.</div>
<div><br></div><div>The hashed formats are more robust because:</div><div> * the hashes guard against accidental modification of patches that are stored on disk</div><div> * the hashes guard against a buggy darcs client that misapplies patches (the hashes would be off, git has similar safe guards)</div>
<div> * the hashed formats have better atomicity and hence better transactional properties</div><div><br></div><div>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.</div>
<div><br></div><div>Jason</div></div>