Converting cvs modules question
Chuck Kirschman
Chuck.Kirschman at bentley.com
Thu Oct 30 21:31:43 UTC 2008
Mathieu Clabaut wrote:
> On Thu, Oct 30, 2008 at 4:47 PM, Belinda Lawson <briffee at gmail.com
> <mailto:briffee at gmail.com>> wrote:
>
> When I use the "hg convert" command on my cvs checkout, each module
> becomes a mercurial repository. I would like to combine several of
> those repositories, and I read that I can use "hg pull -f" to pull
> repositories into another one. However, when I do that, I get the
> following output:
>
> hg at dev666:~/repos/onair/myrepo$ hg pull -f /home/hg/repos/onair2/myrepo
> pulling from /home/hg/repos/onair2/myrepo
> requesting all changes
> adding changesets
> adding manifests
> adding file changes
> added 1787 changesets with 9172 changes to 2153 files (+42 heads)
> (run 'hg heads' to see heads, 'hg merge' to merge)
>
> But I don't know what to do after that. Merge doesn't seem to work.
>
> In fact you should merge heads two by two.
> But it will not resolve your problems if your CVS modules share common
> tags. Indeed you'll have to merge tags file which becomes not possible
> for the moment where several branches in your new hg repository share
> some tags.
>
> I'm still looking for a way of doing what you are trying to achieve.
> I've tried by checking out all modules at once (cvs co .) but then hg
> convert fails.
>
> Any tip which would allow to convert several CVS modules in one hg
> repository *while preserving* tags across modules ?
>
> -mathieu
>
If you have access to the actual repository, the obvious solution is to
create a repository that contains multiple modules in one subdirectory.
So in the foo repository you have top-level modules bar, baz, and bat.
In you conversion copy of the repository you create the top level foo
directory and put bar, baz, and bat under it. Then convert normally.
BTW, this kind of repository modification is not possible in Hg. It's
both a blessing and a curse.
HTH
chuck
More information about the Mercurial
mailing list