Interactive rebase broken?
Asked by jason.goemaat:

I can't figure out how the 'rebase children of xxx interactively' works.

I created a 'temp' branch and 4 commits, adding 'a', 'b', 'c', then 'd' to README.me. I then right-click on the original commit I branched from and picked 'rebase children of xxxx interactively'. A window pops up with 4 commits.

So I want to squash them all into 1 commit with all 4 changes in it. I right-click on the top 1 and pick 'Squash with previous commit'. That then says \[2 commits\] and message is 'xxx (+1 squashed commits)'. I then right-click on that and squash it, then do it again. Now I have 1 line that still says "\[2 commits\] and 'xxx (+1 squashed commits)', but there are four commits when I expand it.

Now I right-click on the top line and edit the message and it says '\[4 commits\]' and the message is my new 'All Changes' message. Looks good, right? So when I hit 'OK' it works, BUT I STILL HAVE 2 COMMITS. The first commit in the branch where I added 'a' to the file is still there, even though it was listed in the 4 commits that should be squashed together.

When I use the command line, I type \`git rebase -i \<original commit\>\`, where \<original commit\> is the one I right-click on in source tree. My editor opens up and I 'p'ick the top line and 's'quash for the other three. At the end I get to edit the final commit message, and it looks right with 1 commit directly off the base commit I rebased onto.


Answers:
author: Mike Corsaro
body: Hello! Can you try using the newly released 2.1? It has a fix in it where squashed commits didn't get squashed correctly. Thanks!

<https://downloads.atlassian.com/software/sourcetree/windows/ga/SourceTreeSetup-2.1.2.4.exe>

comments: author: jason.goemaat
body: This version only crashes for me, it never starts up correctly.


author: Mike Corsaro
body: Do you get an error report dialog? Which version were you using before?


author: jason.goemaat
body: Yes, it appears to be a known issue. I had to edit the config file and change the window width and height and initial state, then it started without crashing.

Version 2.1.2.4 does seem to resolve my issue, I just tried the same interactive rebase again and it properly squashed all four commits into one. Thanks!


author: Alfredo Tschamler
body: I realized that I can not use Interactive rebase over a commit when it has more than one branch, when the commit has only one branch you can, otherwise do nothing, is this a bug??

comments: author: jakevose
body: I am able to reproduce this issue as well. I've been experiencing this issue for months now and your description nails the source of the problem. Thanks for the workaround and hopefully Atlassian will address it soon!


author: Alfredo Tschamler
body: Excellent! I hope so!


author: Phill Apley
body: This is still happening. See <https://community.atlassian.com/t5/Sourcetree-questions/Why-does-interactive-rebase-not-respond/qaq-p/584668#M34151>


author: dickreuter
body: My interactive rebase of 2.1.2.5 does not work properly either on windows. It does not even show the commits.

comments: author: BehindTheMath
body: I'm having the same issue.


author: BehindTheMath
body: Actually, it seems that this issues only occurs if you select Interactive Rebase from the Repository menu. If you right-click and select it from the context menu, it appears to work.


author: jeffal
body: Hello,

My interactive rebase hangs following the latest update.

I am using version 2.5.2b (111) for Mac OS.

**Update:** Reverting to 2.5.2a resolved the issue...

Thank you,

Jeff