Before this version, the squash logic could result in an empty commit. We've removed that ability, and instead the pull-request gets automatically declined now if the end-result of a rebase or a squash would be an empty commit.
We've also updated the error messages around this scenario. Here's an example:
-----Rebasing...Success! (see note:)
Rebase succeeded, but caused the pull-request to be declined. The diff was empty. No work was lost, but the rebase caused branch "TKT-123" to be subsumed into branch "master".Reload page to see the now declined pull-request."-----
Background note: the reason a branch can be subsumed into its upstream through a rebase or squash is explained in the git rebase manual (e.g., "git help rebase"). Here's the pertinent sentence:
> Note that any commits in HEAD which introduce the same textual changes as a commit in HEAD..<upstream> are omitted (i.e., a patch already accepted upstream with a different commit message or timestamp will be skipped).