[darcs-users] darcs error: "cannot handle mergers" ??

David Roundy droundy at darcs.net
Thu Mar 19 01:24:25 UTC 2009


A quick look at annotate shows that this error message was added in
September of 2007, which means 1.0.9 was the last release that had the
--modernize flag in optimize.  It may be that an older version of
darcs had this feature working...

A quick look at PatchCommute.lhs in darcs 1.0.9 shows the following function:

modernize_patch :: Patch -> Patch
modernize_patch p@(Merger _ "0.9" _ _ _ _) = merger_equivalent p
modernize_patch (NamedP n d p) = NamedP n d $ modernize_patch p
modernize_patch (ComP ps) = ComP $ map modernize_patch ps
modernize_patch (Split ps) = Split $ map modernize_patch ps
modernize_patch p = p

which only handles "0.9" mergers, not the older "0.1" mergers.  I
guess I didn't realize that any existing repository had such mergers.
The easy fix is to add (to 1.0.9) another line reading

modernize_patch p@(Merger _ "0.1" _ _ _ _) = merger_equivalent p

which should fix this.

David

On Tue, Mar 17, 2009 at 2:10 AM, Eric Kow <kowey at darcs.net> wrote:
> Hi David,
>
> I think we may need your advice on a technical/historical matter if you
> have some spare time: namely what was the last darcs that could optimize
> --modernize old merger patches?
>
> If you don't have time to look into this right now, or if it's a
> basically read-the-manual time, we'll do a-digging, but I thought
> maybe you would know off-hand.
>
> Thanks!
>
> On Mon, Mar 16, 2009 at 16:04:39 -0400, Steven G. Johnson wrote:
>> I tried darcs 1.0.9 (after patching it to work with ghc 6.8.2 using
>> instructions I found online).  It succeeded (at least, it printed "Done
>> optimizing!" without printing an error), but darcs 2.0.2 still gives the
>> same error when I run any command.
>
>>> If you could put these online, it would be great! (as an example to us
>>> for the kinds of repositories we should try to keep in mind)
>>
>> Since "darcs get" fails on this repo, I put a tarball of the repository at
>>
>>       http://jdj.mit.edu/~stevenj/meep-bad.tar.gz
>>
>> (David Roundy might recognize it -- this is descended from a project
>> [http://ab-initio.mit.edu/meep] that he started when he was in our group
>> at MIT, and he's the reason it uses darcs of course.)
>>
>> Thanks!
>>
>> Steven
>
> --
> Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
> PGP Key ID: 08AC04F9
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
>
> iEYEARECAAYFAkm/aQkACgkQBUrOwgisBPksagCgytORcDmisXEu3rgVnC/YImLX
> R7gAoM79Sk/k8xGaQw5RcMlMNn4n498Y
> =YRGe
> -----END PGP SIGNATURE-----
>
>



-- 
David Roundy


More information about the darcs-users mailing list