Thread (6 messages) flat view 6 messages, 4 authors, 2016-06-15

Re: Find successor of common ancestor

From: Enrico Weigelt <hidden>
Date: 2016-06-15 22:49:08

* Johan Herland [off-list ref] wrote:
IINM you have the following situation

A0---A1---A2---A3---A4  <-- A'
  \
   B1---B2---B3--B4  <-- B'

...and you want to rebase B' (i.e. B1 through B4), first onto A1, then 
onto A2, the onto A3, and finally onto A4. I have no idea WHY you would 
want to do this (rebasing directly onto A4 (like Santi suggests) is 
much cheaper), but you can certainly coax Git into doing it, anyway.
If the branches go off too far, you can easily end up in a lot of 
unresolvable conflicts, while on zip-rebase, there's great chance
that 3way-merge will catch this.
To list commits A1, A2, A3, A4 (in that order), do:

  git rev-list --reverse B'..A'

You can now loop over the results like this:

  git checkout B'
  for a in $(git rev-list --reverse ..A'); do
      git rebase $a
  done
Thx, I'll have a try :)


cu
-- 
----------------------------------------------------------------------
 Enrico Weigelt, metux IT service -- http://www.metux.de/

 phone:  +49 36207 519931  email: weigelt@metux.de
 mobile: +49 151 27565287  icq:   210169427         skype: nekrad666
----------------------------------------------------------------------
 Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
----------------------------------------------------------------------
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help