Re: how do I merge completely unrelated repositories ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

since a similar question burdens my soul for quite some
time, I would like to take the opportunity to extend
the question a bit:

I have around 10 CVS repositories, each with around 5 modules.
This has developed over time, and now I want to combine them
all into a single Git repository, with a new directory
structure introduced.

One possibility would be to convert these 50 CVS modules 
into git repositories, then for each of these git repositories
introduce the new tree structure (that is, what is relevant
for this part), move all files to their new location (via
"git mv"), and finally pull everything in into the common
repository.

This is all fine, except of the inability to follow the history
nicely (for example, via gitk I will only see the history
from the point on where in those temporary git-repositories
the files have been moved to their new place).

To avoid this break in the history, it would be great if
cvsimport could already move the files to the right place
in the directory hierarchy, that is, if an additional
parameter P could be given, the initial path, and files
will be imported as P/file. Then I could import everything right away into
the final git repository, without problems with clashes.
I can't find something like that in the documentation.

Is there perhaps some other possibility?
It seems easiest to me to do this little bit of surgery
at the time of the import, before git gets into his
troubles with hash-values.

thanks!

Oliver


On Thu, Jun 26, 2008 at 12:25:54PM +0100, Johannes Schindelin wrote:
> Hi,
> 
> On Thu, 26 Jun 2008, Miklos Vajna wrote:
> 
> > On Thu, Jun 26, 2008 at 11:39:37AM +0200, Christian MICHON <christian.michon@xxxxxxxxx> wrote:
> > > How would you do it, since merge will not merge if it cannot find a
> > > common ancestor ?
> > 
> > Did you try so?
> > 
> > If there are no conflicting paths then a simple
> > 
> > git pull /path/to/other/repo.git master
> > 
> > or similar should work.
> 
> FWIW this is how gitk got into git.git... See 5569bf9b(Do a cross-project 
> merge of Paul Mackerras' gitk visualizer).  This also was often referred 
> to as the "coolest merge ever".
> 

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux