On Sat, Jul 10, 2010 at 02:55:41AM -0400, Chris Frey wrote: > On Thu, Jul 08, 2010 at 12:52:08PM +0100, Peter Krefting wrote: > > Hi! > > > > If I slightly modify the example from the git-rebase manual page to look > > like this: > > > > o---o---o---o master > > \ > > o---o---o---o---o topicA > > \ / > > A---B---C---D topicB > > > > (topicA has merged "B" into its history; its first-parent from the line of > > "o"s). > > > > If I now do a "git rebase --onto master topicA topicB", I only get commit C > > and D, as it sees A and B as being part of both branches. > > > > Is there a way to make git rebase pick up A, B, C and D (and only them)? > > > > I.e., I would like "all commits on topicB which are not in topicA's > > --first-parent history". > > > I'm no expert on rebase --onto, but aren't you trying to rebase so that > the tree looks like this afterward? > > > o---o---o---o master > \ \ > \ A---B---C---D topicB > \ > o---o---o---o---o topicA > \ / > A---B > > In which case, won't this work? > > git checkout topicB > git rebase master > > - Chris No, this won't work. You will also rebase A^ (the o) commit in both branches A and B. AFAIK doing the following should do the trick: git checkout topicB git rebase --onto master A~1 topicB -- 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