Hi,
suppose the following history
P - - - Q - - - - - R <-extern
A -- - B - - - C - D - - - E <-master
\ \
M ... \ <-b1
\
W ... <-b2
Note that master and extern do not have a common parent. Both histories
are 'distinct', they do not share common files, so there can't be any
merge conflicts. What i want to achieve is this history:
P - - - Q - - - - - R <-extern
A -P'- B'- Q'- C'- D'- R'- E' <-master
\ \
M'... \ <-b1
\
W'... <-b2
The two histories should be merged in chronological order.
So while master reflects P-Q-R, b2 should only reflect P-Q and b1 should
only reflect P.
All my current attempts (surgery with git replace or interactive rebase
combined with merging) were not successfull.
Any ideas?
Best regards
Henning
Hi,
On Sat, Oct 25, 2014 at 2:31 PM, Henning Moll [off-list ref] wrote:
Hi,
suppose the following history
P - - - Q - - - - - R <-extern
A -- - B - - - C - D - - - E <-master
\ \
M ... \ <-b1
\
W ... <-b2
Note that master and extern do not have a common parent. Both histories are
'distinct', they do not share common files, so there can't be any merge
conflicts. What i want to achieve is this history:
P - - - Q - - - - - R <-extern
A -P'- B'- Q'- C'- D'- R'- E' <-master
\ \
M'... \ <-b1
\
W'... <-b2
The two histories should be merged in chronological order.
So while master reflects P-Q-R, b2 should only reflect P-Q and b1 should
only reflect P.
All my current attempts (surgery with git replace or interactive rebase
combined with merging) were not successfull.
Could you tell us why interactive rebase did not work?
If there can't be any merge conflict between both histories, it should
have worked without asking you to resolve any conflict.
Best,
Christian.
Am 26.10.2014 um 06:46 schrieb Christian Couder:
Hi,Could you tell us why interactive rebase did not work?
First of all i have to admit that i did not i-rebase-merge, but
i-rebase-cherrypick. Now i tried it with i-rebase-merge and it didn't
work either.
Here's my workflow, which i repeated for all commits of 'extern' (in
chronological order'). For simplicity let's assume that there is a
parent commit for 'A'
1. For P, A is the nearest prior commit on 'master'
2. on master: git rebase -i A^
3. change A from pick to edit. save. quit
4. git merge P
5. git rebase --continue
From the perspective of 'master' this worked. But as all of the commits
have been rewritten, the branches b1 and b2 no longer refer to 'master'.
Branch b2, for example, still branches off at B and not B'. So after
this action, my history looks like this:
P - - - Q - - - - - R <-extern
\
A'- m - B'- - - C'- D'- - - E' <-master
A - - - B - - - C - D
\ \
M ... \ <-b1
\
W ... <-b2
A and A' are nearly the same: they only differ in the new
GIT_COMITTER_DATE.
Now this is what i try to get (after only applying P):
P - - - Q - - - - - R <-extern
\
A'- m - B'- - - C'- D'- - - E' <-master
\ \
M'... \ <-b1
\
W'... <-b2
Regards
Henning