Merging repositories and their histories

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

Merging repositories and their histories

From: Peter Waller <hidden>
Date: 2016-06-15 22:45:10

I have three repositories, A, B and C. I wish to bring them together to only
one repository (.), where they are in a directory called ./Archive, so..
./Archive/{A,B,C}. Then I plan at a later date to move files arbitrarily
from ./Archive/{A/B/C}/Something and into ./Something{A/B/C}. (A lame
example, but illustrates what I want to do).

I would like ./SomethingA (etc) to have their complete histories from the
old repository. I thought I would do this with the subtree mechanism
described at
http://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.html,
but I have had little luck getting it to work as I desired.

Firstly, I create a new repository with git init, then I "remote add A",
"merge" and "readtree". This immediately leads to two copies of A's files,
in ./Archive/A/Files and ./Files. The files in Archive/A do not have any
history.

Then if I do this with B, the files do not appear in ./, but again they do
not have their history. I have tried using git log --follow -M, but this
does not seem to help. I have tried numerous other ways of doing this, but
none seem to work.

I thought I would get around my problems doing the merge, then moving the
files - this works for A, but when I move on to B, the files are not in ./,
so I can't move them. If I read-tree some files, git status/commit shows
them as 'new files' and does not seem to recognize them as old files with a
long history.

Any help would be appreciated on this problem.

Thanks in advance,

- Peter
-- 
View this message in context: http://www.nabble.com/Merging-repositories-and-their-histories-tp19035412p19035412.html
Sent from the git mailing list archive at Nabble.com.

Re: Merging repositories and their histories

From: Alex Riesen <hidden>
Date: 2016-06-15 22:45:10

Peter Waller, Mon, Aug 18, 2008 18:46:14 +0200:
I have three repositories, A, B and C. I wish to bring them together to only
one repository (.), where they are in a directory called ./Archive, so..
./Archive/{A,B,C}. Then I plan at a later date to move files arbitrarily
from ./Archive/{A/B/C}/Something and into ./Something{A/B/C}. (A lame
example, but illustrates what I want to do).
If this transition is meant to be persistent (IOW, the A, B and C stop
existing as repos on their own) you can rewrite their histories to be
in the directories (with git filter-branch) and just merge them in
one. Then the histories will look like as if they have never grown
separately.

Re: Merging repositories and their histories

From: Peter Waller <hidden>
Date: 2016-06-15 22:45:10

I don't quite understand what you are suggesting I do.

I have looked over the filter-branch manpage.

What would I first do? Copy all three repositories to
./Archive/{A,B,C}? Then rewrite their histories?

- Peter

2008/8/18 Alex Riesen [off-list ref]
Peter Waller, Mon, Aug 18, 2008 18:46:14 +0200:
quoted
I have three repositories, A, B and C. I wish to bring them together to only
one repository (.), where they are in a directory called ./Archive, so..
./Archive/{A,B,C}. Then I plan at a later date to move files arbitrarily
from ./Archive/{A/B/C}/Something and into ./Something{A/B/C}. (A lame
example, but illustrates what I want to do).
If this transition is meant to be persistent (IOW, the A, B and C stop
existing as repos on their own) you can rewrite their histories to be
in the directories (with git filter-branch) and just merge them in
one. Then the histories will look like as if they have never grown
separately.

Re: Merging repositories and their histories

From: Marcus Griep <hidden>
Date: 2016-06-15 22:45:12

Peter Waller wrote:
I have three repositories, A, B and C. I wish to bring them together to only
one repository (.), where they are in a directory called ./Archive, so..
./Archive/{A,B,C}. Then I plan at a later date to move files arbitrarily
from ./Archive/{A/B/C}/Something and into ./Something{A/B/C}. (A lame
example, but illustrates what I want to do).
Peter Waller also wrote:
Thanks, it worked.

2008/8/18 Alex Riesen [off-list ref]:
quoted
quoted
Peter Waller, Mon, Aug 18, 2008 20:15:52 +0200:
quoted
quoted
2008/8/18 Alex Riesen [off-list ref]
quoted
quoted
Peter Waller, Mon, Aug 18, 2008 18:46:14 +0200:
quoted
quoted
(The same thing as above)
Did it actually not work?

-- 
Marcus Griep
GPG Key ID: 0x5E968152
——
http://www.boohaunt.net
את.ψο´

Re: Merging repositories and their histories

From: Peter Waller <hidden>
Date: 2016-06-15 22:45:12

Nabble kept telling me that my post was not submitted, which I found
very confusing, so I ended up trying to resubmit the post. Sorry for
the spam. This is now sorted.

Cheers for the keen-ness to help! :-)

- Pete

2008/8/21 Marcus Griep [off-list ref]
Peter Waller wrote:
quoted
I have three repositories, A, B and C. I wish to bring them together to only
one repository (.), where they are in a directory called ./Archive, so..
./Archive/{A,B,C}. Then I plan at a later date to move files arbitrarily
from ./Archive/{A/B/C}/Something and into ./Something{A/B/C}. (A lame
example, but illustrates what I want to do).
Peter Waller also wrote:
quoted
Thanks, it worked.

2008/8/18 Alex Riesen [off-list ref]:
quoted
quoted
Peter Waller, Mon, Aug 18, 2008 20:15:52 +0200:
quoted
quoted
2008/8/18 Alex Riesen [off-list ref]
quoted
quoted
Peter Waller, Mon, Aug 18, 2008 18:46:14 +0200:
quoted
quoted
(The same thing as above)
Did it actually not work?

--
Marcus Griep
GPG Key ID: 0x5E968152
——
http://www.boohaunt.net
את.ψο´

Re: Merging repositories and their histories

From: Alex Riesen <hidden>
Date: 2016-06-15 22:45:12

2008/8/21 Marcus Griep [off-list ref]:
quoted
2008/8/18 Alex Riesen [off-list ref]:
quoted
quoted
Peter Waller, Mon, Aug 18, 2008 20:15:52 +0200:
quoted
quoted
2008/8/18 Alex Riesen [off-list ref]
quoted
quoted
Peter Waller, Mon, Aug 18, 2008 18:46:14 +0200:
quoted
quoted
(The same thing as above)
Did it actually not work?
Why not?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help