[darcs-devel] [issue573] corrupted repository -- indelible "conflicting local changes"

Zooko bugs at darcs.net
Fri Jan 11 23:27:35 UTC 2008


Zooko <zooko at zooko.com> added the comment:

Okay, here's what I know so far:

My coworker Rob wrote a patch on his Mac machine, using darcs 1.0.8  
from MacPorts.  This is the patch (visible on our trac+darcs): [1].

He pushed this patch to our dev.allmydata.com machine, which is Linux  
and is running darcs 1.0.9.  When he did that, the push silently  
succeeded, even though it left unrecorded changes in the target repo,  
which is something that is not supposed to happen since we haven't  
not configure it to allow pushing of conflicting patches.

Next, the dev.allmydata.com machine automatically pushed the patch to  
the allmydata.org machine, which is linux running 1.1.0pre (exact  
version appended [2]).  This caused the same unrecorded changes to  
appear in the allmydata.org repo, although again that repo is not  
configured to allow conflicting patches to be pushed into it.

Next, I pulled from the dev.allmydata.com repo to my local repo on my  
Mac, running darcs 1.0.9.  I got the same unrecorded changes in my  
repo after pulling.

Next, I made a cp -a of my repo, and then tarred and 7zipped it, but  
the resulting file was 28 million bytes.  So to save space, I did:

$ cp -a trunk-got-bad-stuff trunk-got-bad-stuff-then-uncompressed
$ cd trunk-got-bad-stuff-then-uncompressed
$ darcs optimize --uncompress
$ cd ..
$ darcs get trunk-got-bad-stuff-then-uncompress trunk-got-bad-stuff- 
then-uncompress-the-darcs-gotten
$ tar c trunk-got-bad-stuff-then-uncompressed-the-darcs-gotten/ | 7z  
a -si trunk-got-bad-stuff-then-uncompressed-the-darcs-gotten.tar.7z

This resulted in a 14 million byte file, which I uploaded to my web  
server:

https://zooko.com/trunk-got-bad-stuff-then-uncompressed-the-darcs- 
gotten.tar.7z

You can untar it with:

sudo apt-get install p7zip-full
7z e -so trunk-got-bad-stuff-then-uncompressed-the-darcs-gotten.tar. 
7z | tar x

If you can't untar that tarball, or if you can't detect a bug in that  
repo, then please ask me and I will be happy to help reproduce the bug.

Regards,

Zooko

[1] http://allmydata.org/trac/tahoe/changeset/1855
[2] allmydata.org: "darcs --exact-version | head":

darcs compiled on Dec 31 2007, at 14:52:29
# configured Mon Dec 31 14:55:48 PST 2007
./configure /usr/local/stow/darcs-1.1.0pre/share/config.site /usr/ 
local/stow/darcs-1.1.0pre/etc/config.site

Context:

[add some changelog entries
Tommy Pettersson <ptp at lysator.liu.se>**20071111204931]

[add "hidden" printer, for printing things to screen but not file.

__________________________________
Darcs bug tracker <bugs at darcs.net>
<http://bugs.darcs.net/issue573>
__________________________________


More information about the darcs-devel mailing list