Problem 1
---------
> Darcs has just gone into an infinite loop, when doing a 'pull' of a
> few dozen patches from GHC's HEAD repository into a partial repository
> on my laptop.

I'm going to shift discussion of that patch to
http://bugs.darcs.net/issue378

Side note
---------
> sh-2.04$ darcs get http://darcs.haskell.org/ghc --repo-name HEAD
> 
>         -- Wait 1.5 hrs for darcs to download 15,000 patches

One not-very-nice way to avoid this is to make a tarball, copy that
tarball by hand, and darcs get from untarred directory.  This also
side-steps the unapplicable patch problem below, because darcs does not
attempt to do its patch work.  This is not very useful for day-to-day
operations like darcs pull, but for an initial 'get', it might be
worthwhile.

Problem 2
---------
> darcs failed:  Error applying hunk to file ./ghc/includes/rtsTypes.lh
> Unapplicable patch:
> Thu Jan 11 14:26:13 GMT Standard Time 1996  partain
>   * [project @ 1996-01-11 14:06:51 by partain]

For what it's worth, I get the same problem with darcs 1.0.9rc2 on my Mac.
The problem seems to be that the patch attempts to remove a file
    ./ghc/includes/rtsTypes.lh

This is normally fine; however, previous patches had created the files
    ./ghc/includes/RtsTypes.lh
    ./ghc/includes/rtsTypes.lh

I'm betting that if you did the same thing on a case-sensitive file
system, everything is ok.

On machines with case-insensitive files systems, e.g. my Mac, darcs does
the wrong thing.  Darcs tries to avoid this possibility by warning you
when you add a file that has the same name, modulo case (either this is
relatively new in darcs, or the --case-ok override was used).  It would
be good if darcs had a a more robust treatment of such cases, because
shit does happen (and people do use --case-ok).  What that treatment
would be, I do not know.  See http://bugs.darcs.net/issue53 for some
prior discussion on the matter.

The workaround used by the HaXmL developers is to use --partial, but
sadly, this has other problems!

It seems also that what the darcs universe really needs is a
darcs-firstaid kit which will let you swap out a bad patch for an almost
equivalent "good" one.  For example, the bad patch in question might be
the patch that adds RtsTypes.lh, and its swapee might be the same, sans
that file.  This would normally be a dangerous thing (I presume), and
people might need to re-do their darcs get because the patch in question
and the subsequent patches are no longer the same (???), but it would
save some users a lot of grief in the here and now.  Such a tool could
also help with things like Kirsten was suggesting on the mailing list
(i.e.  patch swapping might just be one of the elements of the kit,
hunting down conflict-prone patches might be another)

-- 
Eric Kow                     http://www.loria.fr/~kow
PGP Key ID: 08AC04F9         Merci de corriger mon français.

Attachment: pgpSx8D09sF0V.pgp
Description: PGP signature

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

Reply via email to