Subject: Re: Please help provide clarity on git rebase internals

From: Johannes Sixt <[email-masked]>
Date: Mon, 08 Sep 2014 20:07:32 +0200

Am 08.09.2014 13:25, schrieb Colin Yates:
> For example, let's imagine that #f1 removed fileA, some time later #d1

Assumption: #d1 is in the branch you call "develop HEAD".

> added a line to that file. If I was doing a merge then of course this
> should be a conflict, however applying #f1 to develop HEAD should work
> even if fileA has changed (i.e. #f1 removes the updated fileA).

No. You should get the very same conflict, because the content that #f1
removed is not identical to the content on develop HEAD anymore.

With rebase you generally get the same conflicts as if you did a merge.
But since rebase applies changes only piece-wise, you get the conflicts
also only piece-wise. (Sometimes you can be lucky that you get no
conflicts due to the nature of changes, sometimes you can also have bad
luck and see more conflicts.)

-- Hannes