[darcs-devel] Impossible case in darcs PatchRead.lhs or Patch/Read.lhs

Michael Abbott michael at araneidae.co.uk
Wed Jan 16 11:59:46 UTC 2008


I sent the mail below to bugs at darcs.net, but I can't see any trace of it 
anywhere, so maybe it got lost.

I can follow up, though, with something useful: it appears that the patch 
in question got silently eaten by our goddamned web filter (and converted 
into a message about "inappropriate" material)!

darcs could handle this a bit more smoothly, in particular some form of 
patch file validation would be sensible, together with reporting the name 
of the failing patch!  The patch in question happens to contain a copy of 
"Utopia" by Thomas More (test data for Yi?): this is obviously regarded as 
inappropriate and subversive content by the UK government!

Actually, it would be even better if darcs could download all of the 
patches as a single http request, but I guess that would require more 
cooperation from the server than the current model allows; even better as 
an https request to bypass the crap that proxies produce.


---------- Forwarded message ----------
Date: Tue, 15 Jan 2008 18:59:33 +0000 (GMT)
From: Michael Abbott <michael at araneidae.co.uk>
To: bugs at darcs.net
Subject: Impossible case in darcs PatchRead.lhs or Patch/Read.lhs

Running
 	darcs get http://code.haskell.org/yi
produces one of the following responses (depending on version).

Running the darcs-1.0.9-i386-linux binary, as downloaded from darcs.net, 
produces the message:


$ darcs get http://code.haskell.org/yi
...
FINISHED --18:23:31--
Downloaded: 5,562,103 bytes in 1370 files
Applying patch 551 of 1370... darcs: bug in darcs!
Impossible case at PatchRead.lhs:58 compiled 18:47:46 Aug 28 2007
Please report this to bugs at darcs.net,
If possible include the output of 'darcs --exact-version'.
$ darcs --exact-version
darcs compiled on Aug 28 2007, at 18:50:44
# configured Sat Jun 16 09:59:48 PDT 2007
./configure /usr/local/share/config.site /usr/local/etc/config.site

Context:

[TAG 1.0.9
Tommy Pettersson <ptp at lysator.liu.se>**20070603213706]
$


Alternatively, after downloading and building darcs from the repository using
 	darcs get --verbose --partial http://darcs.net/repos/stable
the error message has moved slightly:


$ darcs get http://code.haskell.org/yi/
Directory '/home/mga83/working/Haskell/yi' already exists, creating repository 
as '/home/mga83/working/Haskell/yi_0'
Copying patch 1370 of 1370... done.
Applying patch 551 of 1370... darcs: bug in darcs!
Impossible case at src/Darcs/Patch/Read.lhs:58 compiled 18:37:35 Jan 15 2008
Please report this to bugs at darcs.net,
If possible include the output of 'darcs --exact-version'.
$ darcs --version
1.1.0pre1 (unknown)
$ darcs --exact-version | wc -l
1433
$


By the way, the page http://www.darcs.net/manual/node3.html suggests 
downloading the darcs repository from http://abridgegame.org/repos/darcs -- 
this appears to be a case of bit rot!

I hope this report is helpful.  Unfortunately searching bugs.darcs.net doesn't 
seem to work and just hangs.


More information about the darcs-devel mailing list