[darcs-users] [issue617] rm repository and then optimize --uncompress sibling repo yields "failed to read patch:"..."user error"

David Roundy daveroundy at gmail.com
Wed Jan 30 19:51:10 UTC 2008


I see the problem in this bug, it's the lazy patch reading.  darcs get
doesn't create a complete repository, but instead includes a reference
to the original repository.  Thus when you remove the original
repository, the gotten one is incomplete.

The question is how much we should change this.  One option, of
course, would be to default to strict getting of repositories, and say
that folks who use --partial get what they ask for.  I'd prefer to
keep the lazy getting behavior, at least by default, since in most
cases it seems to be what folks want (being far faster for large
repositories), and when getting from a remote repository that is not
removed, it's quite safe.

We could add special logic for local gets, which could create hard
links to all the patch files, but this would make a local get more
expensive, and would also complicate the behavior (and complicated
behavior has a tendancy to confuse folks... which could be used as an
argument against lazy get in the first place).

I should perhaps note that a non-lazy get is easily achieveable by
doing a darcs get followed by "darcs changes everything" or "darcs
changes -s".

David


More information about the darcs-users mailing list