Hello, I recently ran into an annoying problem: 'git rebase' apparently silently drops changes in non-conflicting paths of merge commits (git version 1.9.3).
Is it a bug or feature? Is there a way to flatten history using rebase, yet preserve manual changes found in merge commits? Here is simplified reproduction of what I've encountered: <SCRIPT> git init t cd t git config rerere.enabled true echo "I" > a; git add a echo "I" > b; git add b git commit -am "I" git checkout -b test echo "B" >> b; git commit -m "B" -a git checkout master echo "A" >> a git commit -am "A" git merge --no-edit test # Clean merge, but result didn't compile, so I fixed it and # amended the merge: echo "Precious!" >> a # [!] This is modification that gets lost git commit --amend --no-edit -a cat a # Now rebase my work. git rebase -f HEAD~1 # What? Where is my "Precious" change in "a"??? cat a </SCRIPT> I.e., the modification marked [!] was silently lost during rebase! -- Sergey. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html