[darcs-users] Make darcs force-commute patches from CLI, to learn about darcs?
ben.franksen at online.de
Thu Jun 25 23:16:57 UTC 2020
Am 25.06.20 um 18:52 schrieb James Cook:
> I'm trying to learn more about how darcs force commutes work.
There is a reason we do not have such a command ;-)
> What I'd like to do is create a repository R1 with patches A and B,
> and then look at the patches that result if A and B get
> E.g. if I could pull just patch B and not A to a new repository, I
> think that would do the trick, but of course darcs pull won't let me
> do that because B depends on A.
The main question here is: What do you expect the result of such a
force-commute would be?
Let us take a very simple example:
A = addfile ./foo
B = hunk ./foo 1  ["some text"]
where the hunk notation is simplified but hopefully understandable (the
hunk here removes no lines and adds the line "some text").
Suppose you had a 'darcs force-commute' command, and you force-commuted
A;B to B';A'. What would you expect the B' then A' to be?
> Question 1: Is there a simple way to make darcs do this?
Not exactly simple, but it is possible:
darcs clone . ../saved
darcs rebase suspend # select B and A
darcs rebase obliterate # select A
darcs rebase unsuspend # select B
darcs pull ../saved # select A
You should expect to get conflicts first when you unsuspend B (after
obliterating A) and then also when you re-pull A from the clone. You
will probably want to amend the conflict resolution into the conflicted
> Question 2: Is there a way to make "darcs changes" show the patch
-v or --verbose is your friend here.
More information about the darcs-users