SmartGit: why we don’t use “rebase -p”

From time to time we are asked why SmartGit does not support the git rebase -p option. I’ve now tried to rebase my master which contains a merge commit onto a tiny fork ‘test‘ from an older version of master. This is the resulting log graph:



There have been a couple of modified files in my merge commit, probably due to conflicts which we had at the time or merging:



Now, a ‘git rebase -p test master‘ fails at the merge commit and results in following unexpected conflicts (at least from my perspective, as an advanced Git user):



For this reason, we decided to not support -p for rebase until now. For SmartGit 4 we will detect whether merge commits will be affected by the rebase on Pull and will suggest to merge instead, but still offer to rebase -p as well.