On 2009.11.29 16:28:17 +0000, Peter Weseloh wrote: > Suppose I have the following situation: > > o--o--o Release_1.0 > / \ \ > o-o-o--o--o-o-o-o-o-o---o--o Mainline > \ \ \ / > F1--F2--M1--F3--M2 Feature_A > > Now I want to backport "Feature_A" to the "Release_1.0" branch so that > it gets included into the next minor release, i.e. I want to apply the > commits F1, F2 and F3 onto the "Release_1.0" branch. > Is there a better way? To me this scenario sounds not unusual but I > could not find a solution. What's unusual there is that you merged from Mainline to Feature_A. Usually, the history would look like this: o--o--o Release_1.0 / \ \ o-o-o--o--o-o-o-o-o-o---o--o Mainline \ / F1-----F2------F3 Feature_A And then you could easily use rebase to get the job done. Had you known beforehand that Feature_A is a candidate for backporting, you would have even branch from an older commit like this: o--o--o Release_1.0 / \ \ o-o-o--o--o-o-o-o-o-o---o--o Mainline \ / F1--------F2-------F3 Feature_A Then you could easily merge Feature_A to Release_1.0 as well, without merging anything unrelated. But that's just for the future... Given you current history, you could use format-patch + am like this: git format-patch --stdout --first-parent Mainline..Feature_A > fa.mbox git checkout Release_1.0 git am -3 fa.mbox The --first-parent options make it follow the first parent of the merge commits only, so the whole stuff on the Mainline branch is ignored. And you just get F1, F2 and F3 in fa.mbox, which you then apply using am. A long time ago, I hacked the --first-parent thing into rebase, but (of course) the first iteration of the patch wasn't quite perfect and as I've not been scratching my own itch there, I never got around to actually polish the patch so it could get into git.git. Maybe you want to pick it up? http://thread.gmane.org/gmane.comp.version-control.git/62782 Björn -- 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