We're trying to avoid introducing extraneous merge commits when merging simple (single commit) topic branches back into the master branch. In many cases, that happens automatically using fast-forward. But if another commit was added to master after the branch point, it must be accomplished by first rebasing onto the last master commit and then performing a (fast-forward) merge. This can be a bit tedious since it takes four steps: 1) checkout the topic branch, 2) do the rebase, 3) checkout master, 4) do the merge.
So, when I first saw the "rebase instead of merge" checkbox in the merge dialog I thought "How wonderful, SourceTree will do this for me so I can just stay on the master branch and do this in a single operation." But instead, that option appears to rebase the new string of commits on the master branch onto the end of the topic branch which seems totally counter-intuitive (why would you even want to do that?). What's more, you must still do the fast-forward merge as a separate step so there is no real convenience over just doing a rebase and merge as separate steps.
So my question is, is there some trick in SourceTree that streamlines this (probably common) rebase/merge operation? If not, I wonder if there's any hope it might be added in the future? BTW, I'm using the Windows version 1.5.2 of SourceTree.