Hi Eric, Ian, I've cc'd Ian as this is a patch theory question.
On Tue, 7 Jul 2009 21:07:33 +0100 Eric Kow <[email protected]> wrote: > On Mon, Jul 06, 2009 at 04:33:13 +0100, Robin Green wrote: > > However, I know that darcs' patch theory allows patches to be > > reordered. This could mean that the output of darcs query contents > > "--match=hash foo" could vary over time - or have I misunderstood? > > Then, if that's the case, which commands might potentially cause > > this output to change? i.e. could a push into the repository cause > > this to happen? > > I think this can only happen with obliterate (or the variants > unrecord, amend-record [rollback on the other hand is fine as it just > creates a new patch]). > > Push just calls darcs apply. Right, so let's just talk about darcs apply. Assume you only have one file added to the repository, so we're talking about the same file throughout. What if you start with a patch tree that looks like this to darcsit (which has to linearise the history somehow - presumably it just uses the order of patches darcs changes gives it): A--B and then you pull a copy and add C: A--B--C and meanwhile back in the original repository you add D: A--B--D and now you send patch C to the maintainer of the original, who applies it. Is is possible that darcs could reorder the patches such that when you do: darcs query contents "--match=hash $HASH_OF_C" you now get *all* the changes, i.e. the patches are ordered like this: A--B--D--C instead of like this: A--B--C--D And even if that's not possible in this merge example, are there any possible merge scenarios in which you would see a change in the output of identical "darcs query contents" commands after the merge? What if there are conflicts that have to be solved manually? Thanks, -- Robin _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
