Re: Git: Having trouble merging two repositories by interweaving their histories

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: Git: Having trouble merging two repositories by interweaving their histories

From: Andreas Schwab <hidden>
Date: 2016-06-15 22:58:42

THILLOSEN Andreas [off-list ref] writes:
It implies "interweaving" their histories, so that I can get a "state"
of both RepA and RepB around a same time period of time.
This is only possible by rewriting every commit to point to a new tree
containing the combined trees of the two repositories.  To get a
meaningful result this requires that both repositories have a completely
linear history.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

Re: Git: Having trouble merging two repositories by interweaving their histories

From: THILLOSEN Andreas <hidden>
Date: 2016-06-15 22:58:42

Le 09/10/13 01:06, Andreas Schwab a écrit :
THILLOSEN Andreas [off-list ref] writes:
quoted
It implies "interweaving" their histories, so that I can get a "state"
of both RepA and RepB around a same time period of time.
This is only possible by rewriting every commit to point to a new tree
containing the combined trees of the two repositories.  To get a
meaningful result this requires that both repositories have a completely
linear history.

Andreas.
Thanks for your answer...

I searched a little more around the web, and found some trick called
"grafting repositories".
But examples were all of the same kind: They supposed that all commits
in RepA were done before commits in RepB. For instance:

http://stackoverflow.com/questions/2428137/how-to-rebase-one-git-repository-onto-another-one

This is not my case, because I had work done in parallel in both
repositories.
So I'm not really sure that "grafting" could help in my particular case...

To make the graft permanent, they use git filter-branch, which rewrites
history (all SHA1s are changed etc.)... but as long as dates could be
kept, it would not annoy me that much.

I also found a script called git-stitch-repo in CPAN... I have not yet
tested it, but it is reported that it only works on repositories with
linear history (no merges):
http://search.cpan.org/~book/Git-FastExport-0.09/script/git-stitch-repo

This is also not my case: Merges have been done regularly on my two
repositories...

There is also this tool: CombineRepo... no idea how reliable it is, or
what limitations it entails:
https://github.com/geppo12/GitCombineRepo

So... if I understand correctly, there will be no real practical way to
merge my two repositories, in order to get an interweaving history? (not
criticizing, I only want to know where I am heading now!)

Greetings,

Andreas THILLOSEN.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help