On Wed, May 05, 2010 at 15:23:54 +0000, Ben Clifford wrote:
> $ darcs check
> 
> darcs failed:  No such file AnchoredPath [Name "Makefile"]

I think this is http://bugs.darcs.net/issue1797
(which does not help you; it's just saying that the error
reporting could be better)

> > I'll bet that darcs get --old-fashioned does not complain (which just 
> > means it's being duped, like older darcs were, and not noticing the 
> > problem)
> 
> It gives the same error.

Oh interesting... I would have thought the old-fashioned get would just
happily copy your pristine cache and patches without checking.  Maybe
something's changed in recent Darcs (which would be safer, but which
would yield such a result).
 
> > Were you using anything like Unison to synchronise files?  One thing 
> > that used to happen to me was that I would remove something (which 
> > deletes a file from pristine) and for whatever reason, Unison would get 
> > confused and try to re-add it to pristine.
> > 
> > Is there anything like a case-sensitivity problem?
> > 
> > (I tend to knee-jerk to these two things even if they aren't necessarily 
> > the culprits)
> 
> Things that sound like that:
> 
> i) this home directory has been rsynced and backuped and restored a few 
> times as my various computers and hard-drives have failed and been 
> replaced. Most specifically, the way I've used rsync in the past for 
> backups would definitely restore files that had previously been deleted. 
> That sounds like the unison situation you describe above.

I have a feeling that this is really the problem.

It's a good example of why we're trying to get everybody off
old-fashioned repositories and onto hashed repositories (which is why
darcs 2.4 has taken to nagging users to do darcs optimize --upgrade)

> hmm. then try this one:  http://www.hawaga.org.uk/tmp/lsdupes.tar.gz

Huh, that failed, and then I tried it in Firefox instead of trying
to use wget.  Dunno if it's just some silliness on my end.

I created an empty repository with

  darcs init --hashed
  darcs pull --match 'touch Makefile' --summary

In doing so, I identified this patch:

Fri Dec 25 13:38:06 GMT 2009  [email protected]
  * make file is now a .in file for autoconf
    move ./Makefile ./Makefile.in

followed by this patch...

Fri Dec 25 13:58:11 GMT 2009  [email protected]
  * should use autoconf now

    A ./Configuration.hs.in
    M ./Makefile -1 +12
    M ./Makefile.in -1 +12
    A ./configure.in
    M ./lsdupes.lhs -1 +3

(Huh?!)

So I don't think this is a (current) darcs bug, and I'm quite willing to
point my finger at the rsync+backup setup (well, ultimately, at the
designed of the old-fashioned pristine cache, which is susceptible to just
this sort of thing).

Now, you need a workaround!

I think your options are to (a) wait for darcs rebase (ETA 2011-01?) or
(b) to do a manual rebase using darcs send -O and editing the patch
bundle by hand.

Not for the faint of heart!
http://wiki.darcs.net/ConflictsFAQDarcs1#i-have-an-exponential-time-conflict-how-do-i-work-around-it
has an example of how to do a manual rebase, if it helps.

Sorry for the mess!  Unfortunately, we're going to be seeing a lot of this,
a lot of previously-corrupted repos being shaken down over time...

-- 
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9

Attachment: signature.asc
Description: Digital signature

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

Reply via email to