Rebase quirk [message #957856] |
Thu, 25 October 2012 10:50  |
Eclipse User |
|
|
|
I just noticed a rebase oddity in EGit 2.2. Not sure whether or not it should be considered a bug.
The short summary is that if there are conflicts in a rebase, a direct invocation of the EGit rebase command behaves differently from a rebase invoked via 'pull' + branch tracking.
So suppose I create a local branch that tracks master via rebase. In other words I tell EGit to make a new branch from master and in the dialog I select the 'Rebase' radio button. Suppose further that I commit conflicting modifications in these two branches.
Now I want to rebase my new branch on master. There are two ways I can do this:
1) I can invoke the EGit 'rebase' operation and select master as the target.
2) Since my new branch is tracking master via rebase, I can also use EGit 'pull'
I would expect the same behavior EGit behavior either way, but this is not what I see.
If I follow approach (1) I get the standard EGit 'Rebase Result' dialog telling me the rebase was stopped due to conflicts. I can then proceed in the usual way: resolve conflicts, stage, and continue until I'm done.
If I follow approach (2) something different happens. I get a simple 'Pull Result' dialog telling me the rebase has stopped due to conflicts, not the Rebase dialog. The conflicting files are marked in the Explorer but the comparison view does not flag conflicts and the 'continue' rebase option is never enabled. To get out of the rebase state I have to use 'skip' after staging all the fixes, though of course I'm not skipping anything. It's all very misleading and confusing.
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 1.12559 seconds