Re: Symbol conversion error
Michael Haggerty <[email protected]> Tue, 17 Jul 2012 16:38:04 +0200
| Newsgroups | gmane.comp.version-control.subversion.cvs2svn.user |
|---|---|
| Message-ID | <[email protected]> |
On 07/17/2012 12:20 PM, James Migue wrote:
> I am having trouble using cvs2svn. I have multiple CVS repositories that
> I wish to amalgamate into one, I am led to believe that this is
> achievable using an options file with the pertinent configuration
> reproduced below (the rest is standard):
>
> run_options.add_project(
> '/data/altroot/Project1',
> trunk_path='NewRepo/trunk',
> branches_path='NewRepo/branches',
> tags_path='NewRepo/tags'
> )
>
> run_options.add_project(
> '/data/altroot/Project2',
> trunk_path='NewRepo/trunk',
> branches_path='NewRepo/branches',
> tags_path='NewRepo/tags'
> )
>
> run_options.add_project(
> '/data/altroot/Project3',
> trunk_path='NewRepo/trunk',
> branches_path='NewRepo/branches',
> tags_path='NewRepo/tags'
> )
I don't understand why the above config works. cvs2svn should complain
that the projects' trunk paths are not disjoint because they are all
equal to "NewRepo/trunk". Same for branches and tags.
If you want the CVS repos to share trunk/tags/branches, then (as far as
Subversion is concerned) they are a single project. The way to convert
them as a single project is to rearrange the CVS repositories *before*
the conversion, like
mkdir fake-top-level-project
mv /data/altroot/Project* fake-top-level-project
Then have only one add_project() call:
run_options.add_project(
'fake-top-level-project',
trunk_path='NewRepo/trunk',
branches_path='NewRepo/branches',
tags_path='NewRepo/tags'
)
> My problem is that when I run csv2svn I receive the following error
> (there are numerous of these, I have reproduced just one):
>
> ERROR: Problems determining how symbols should be converted:
> It is not clear how the following symbols should be converted.
> Use --symbol-hints, --force-tag, --force-branch, --exclude, and/or
> --symbol-default to resolve the ambiguity.
>
> 'TAG_21_4_0' is a tag in 305 files, a branch in 0 files, a trivial
> import in 0 files, a pure import in 0 files, and has commits in 0 files
This shouldn't be a problem. It is unambiguously a tag.
I suppose that you have forgotten to include the
global_symbol_strategy_rules in your call to add_project() (or perhaps
you have commented out some important rules in
global_symbol_strategy_rules). It is important to note that
cvs2svn-example.options includes lots of content that *must be* included
in your own options file. Don't comment things out without a reason.
Also make sure that you base your options file on the
cvs2svn-example.options file that came with the version of cvs2svn that
you are using.
If you need more help, please include your whole options file so that we
don't have to guess about the missing content.
Michael
--
Michael Haggerty
[email protected]
http://softwareswirl.blogspot.com/
------------------------------------------------------
http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=1670&dsMessageId=2991269
To unsubscribe from this discussion, e-mail: [[email protected]].