Am 31.07.2012 14:48, schrieb Chris Webb:
Chris Webb<chris@xxxxxxxxxxxx> writes:
If we have a conflict in the middle of a chain of fixup/squashes, as far as
I can see, we have a HEAD with all the previous successful fixups applied,
conflict markers for the current failed pick, and when the conflict has been
resolved, git rebase --continue will commit --amend the resolution and
continue? Isn't that the correct behaviour here?
As an explicit test, I've just tried a chain of four squashed commits, each
of which deliberately resulted in a conflict to manually resolve. For each
squash, I was left with conflict markers on top of what had already been
squashed in the expected way, and when I continued after resolving these,
the resolution was 'commit --amend'ed in the expected way, with the same
behaviour and resulting commit at the end of the rebase -i as I get with a
copy of git without this patch.
OK, good. One subtlety to watch out for is when commit messages are
edited. That is, if you edit the proposed message at 'rebase --continue'
after the first squash failed, is the new text preserved until the last
squash? I *think* that previously that was the case.
That said, I do appreciate the new modus operandi. The state when a rebase
is interrupted is much clearer than earlier: now HEAD contains everything
that was successfully replayed so far, and the index anything that failed.
-- Hannes
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html