Combining several CVS modules into one HG repository

David I. yigyw4d02 at sneakemail.com
Tue Aug 28 16:31:01 CDT 2007


OK, I think I now understand what you are saying. 

If I symlink the original directories to a new parent, the new parent will not have a CVS subdirectory, so it won't be functional from a CVS standpoint (no CVS/Entries in bigmod), but the repository conversion tools can handle it? Is the CVS meta-data not needed for repository conversion (e.g. CVS/Entries, CVS/Repository, CVS/Root, CVS/Tag)? Should I manually write a CVS/Entries, etc for the new "bigmod" root?

Based on your example below:

[initial layout]

/cvs
/cvs/CVSROOT
/cvs/mod1/CVS
/cvs/mod1/CVS/Entries
/cvs/mod1/CVS/Repository
/cvs/mod1/CVS/Root
/cvs/mod1/CVS/Tag
/cvs/mod1/file1.txt
/cvs/mod1/subdir1/

/cvs/mod2/CVS
/cvs/mod2/CVS/Entries
/cvs/mod2/CVS/Repository
/cvs/mod2/CVS/Root
/cvs/mod2/CVS/Tag
/cvs/mod2/file2.txt
/cvs/mod2/subdir2/

where "CVS" subdirectories contain the normal meta-data files such as "Entries", "Root", etc

[new, "bigmod" layout where mod1 & mod2 are symlinks]

/cvs/bigmod/  <<< (no CVS subdir)

/cvs/bigmod/mod1/CVS
/cvs/bigmod/mod1/CVS/Entries
/cvs/bigmod/mod1/CVS/Repository
/cvs/bigmod/mod1/CVS/Root
/cvs/bigmod/mod1/CVS/Tag
/cvs/bigmod/mod1/file1.txt
/cvs/bigmod/mod1/subdir1/

/cvs/bigmod/mod2/CVS
/cvs/bigmod/mod2/CVS/Entries
/cvs/bigmod/mod2/CVS/Repository
/cvs/bigmod/mod2/CVS/Root
/cvs/bigmod/mod2/CVS/Tag
/cvs/bigmod/mod2/file2.txt
/cvs/bigmod/mod2/subdir2/


David 

-----Original Message-----
From: Simon 'corecode' Schubert corecode-at-fs.ei.tum.de |Mercurial| [mailto:...] 
Sent: Tuesday, August 28, 2007 1:22 PM
To: Ishee, David M
Subject: Re: Combining several CVS modules into one HG repository

David Ishee wrote:
> How does your fromcvs handle branches? I can't find a description anywhere. Do they become named branches inside a single repository?

Yes, they become named branches.

> I currently have a CVS repo like this:
> 
> /home/proj/repository
> 
> below "repository" I have the CVS modules. The CVSROOT is at the "repository" level. 

Is there a question or is this just for illustrating the original one?  If so, let me explain in detail:

you have a structure like
/cvs
/cvs/CVSROOT
/cvs/mod1
/cvs/mod2

now you can combine them by creating a directory /cvs/bigmod

and moving/symlinking the original modules there
/cvs/bigmod/mod1
/cvs/bigmod/mod2

> Is it possible to combine two hg repositories once they are created? For example, I convert a module named "proj" and a module "proj_admin" into two separate hg repositories. I combine them into a new top-level directory (somehow), and try to pull out a tag originally created in CVS (the same tag exists on all modules). Could this work?

No, hg repos are single entities.  But you can convert the cvs modules together, thus creating one hg repo.

cheers
  simon

-- 
Serve - BSD     +++  RENT this banner advert  +++    ASCII Ribbon   /"\
Work - Mac      +++  space for low €€€ NOW!1  +++      Campaign     \ /
Party Enjoy Relax   |   http://dragonflybsd.org      Against  HTML   \
Dude 2c 2 the max   !   http://golden-apple.biz       Mail + News   / \



More information about the Mercurial mailing list