|
|
|
|
|
by lloeki
1055 days ago
|
|
I seem to understand GP wants to move a whole DAG potentially having multiple leaves, not just a DAG ending at a single leaf. IOW git rebase --onto shaX shaY shaZ
ends at shaZ, git walks backwards from it until the commit whose parent is shaY to produce the list of commits to cherry-pick onto shaXSo presumably this would be useful: git rebase --onto shaX shaY [shaZ1 shaZ2 shaZ3 ...]
with shaZn being optional and consisting of all leaves down from shaYThis is achievable with git but it's not just doing n rebases like so: git rebase --onto shaX shaY shaZ1
git rebase --onto shaX shaY shaZ2
git rebase --onto shaX shaY shaZ3
...
because each rebase would produce different commits for parts that are common to shaZ n1 and shaZn2 ancestry, so one would have to first find all the branching points and do partial rebases onto the rebased parent commits in order.It definitely can be done (manually or automatically) but is not as trivial as one might think. |
|
I think if you wanted to do this, it would probably be easiest to produce an artificial leaf that points to all the leaves you want to rebase.