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.
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.
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.
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
את.ψο´
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
את.ψο´