> From: Junio C Hamano <gitster@xxxxxxxxx> > > I think this is to be expected for "git rebase", as it does not even > look at merges. It is a way to find non-merge commits that haven't > been applied yet, and apply them to the upstream to create a new > linear history. I disagree. "git rebase" is not characterized as a way to "find non-merge commits that haven't been applied yet", but rather (as described in the git-rebase manual page): git-rebase - Forward-port local commits to the updated upstream head All changes made by commits in the current branch but that are not in <upstream> are saved to a temporary area. [...] The commits that were previously saved into the temporary area are then reapplied to the current branch, one by one, in order. Now if you read far enough down the page, I'm sure it warns about merge commits. But the stated basic *intention* is to replicate the existing branch, re-rooted at a new place on the upstream branch. The current implementation fails this intention by losing changes made in merges. It fails this intention in a *dangerous* way by causing changes to be lost without warning. Dale -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html