[darcs-users] Patch dependency question
Catalin Marinas
catalin.marinas at arm.com
Mon Nov 1 17:40:33 UTC 2004
(2nd try, the first e-mail didn't seem to go through)
Hi,
I understand how darcs determines the patch dependencies but there are
some cases which I do not find being consistent.
Let's say that the P1 patch adds 2 lines at the end of a file. The file
is:
...
aaa
bbb
P2 adds another line at the end of the file:
...
aaa
bbb
ccc
P1 and P2 can easily commute and so one can only pull P2 to his branch.
If P2 really depends on P2, one can probably set a manual dependency.
Now, if P3 adds a line which splits P1's hunk, the file becomes:
...
aaa
ddd
bbb
ccc
Darcs thinks that P3 is dependent on P1. There are cases where this is
not the case (i.e. adding a new definition in a C header file, sorted
alphabetically or by other criteria). One can say that 'ddd' is an
addition to P1 but the same can be said about 'ccc' added by P3.
I think darcs should allow P1 and P3 commuting. At the moment, darcs can
only commute two patches applied to the same file if the hunks as a
whole can commute. In this case, the commuted P1' patch would have two
separate hunks, aaa and bbb.
There should be two types of dependencies - (1) a weak dependency, as
described above, and the user could choose whether to pull the other
patches and (2) a strong dependency where a patch removes/modifies lines
from an existing patch.
Does this sound correct or I'm missing something?
Regards,
Catalin
More information about the darcs-users
mailing list