<br><br><div class="gmail_quote">On Sat, Oct 9, 2010 at 8:52 PM, Brent Yorgey <span dir="ltr">&lt;<a href="mailto:byorgey@seas.upenn.edu">byorgey@seas.upenn.edu</a>&gt;</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>
&gt;<br>
&gt; The Haskell.org server doesn&#39;t have to be upgraded. Maintainers can install<br>
&gt; a newer darcs locally (cabal install darcs), do the upgrade locally and then<br>
&gt; 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&#39;t be<br>
able to read those repositories, which would cause darcs over ssh to<br>
fail -- wouldn&#39;t it?  Or am I missing something?<br></blockquote><div><br></div><div>I answered you immediate question in a different email.  Now I&#39;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&#39;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&#39;s something to report as a bug.  We really want (and need) people to switch to hashed, so if it&#39;s not good enough we need to know why so we can fix it.</div>
<div><br></div><div>Jason</div></div>