On Thu, 07 Dec 2017 21:44:08 +0100, Bo Berglund <bo.bergl...@gmail.com> wrote:
>Problem: >I have taken one of our CVS repositories, which contains just 16 >projects, as a test case for the full conversion to come later. >I used the options file approach so that I could use the automatic >listing of these projects. >What happens is that when I run the conversion after pass 1 (listing >all the ,v files) this is displayed: > >Time for pass1 (CollectRevsPass): 4.491 seconds. >----- pass 2 (CleanMetadataPass) ----- >Converting metadata to UTF8... >Done >Time for pass2 (CleanMetadataPass): 0.036 seconds. >----- pass 3 (CollateSymbolsPass) ----- >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. > >I have no idea what I should do about this, the "symbols" are just >tags on certain revisions in a number of files. Some tags might be >regular tags and some branch tags. >But that is normal in a CVS repository so what is it complaining about >and what should I do about it? > My full options file is too big to be posted due to all the comments (I copied the cvs2svn-example.options file as a starting point). Is there some simple way to get rid of all lines starting with a comment? In any case this is what I have in the section regarding symbols (manually removed commented lines): global_symbol_strategy_rules = [ ExcludeTrivialImportBranchRule(), ExcludeVendorBranchRule(), UnambiguousUsageRule(), BranchIfCommitsRule(), HeuristicStrategyRule(), HeuristicPreferredParentRule(), ] And there are no entries in the projects listing function to set specific symbol handling per project, so I assume the global setting will be used: for project in projects: run_options.add_project( cvs_repo_main_dir + '/' + project, trunk_path=(project + '/trunk'), branches_path=(project + '/branches'), tags_path=(project + '/tags'), ) When I run a conversion it stops with this message (the list has been truncated since it contains more symbols but with the same content): ----- pass 3 (CollateSymbolsPass) ----- 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. 'EAGLE2-version1' is a tag in 13 files, a branch in 0 files, a trivial import in 0 files, a pure import in 0 files, and has commits in 0 files 'start' is a tag in 13 files, a branch in 0 files, a trivial import in 0 files, a pure import in 0 files, and has commits in 0 files 'bosse' is a tag in 0 files, a branch in 13 files, a trivial import in 13 files, a pure import in 13 files, and has commits in 13 files 'CVSMailer_1-6-1-58_2016-11-24' is a tag in 125 files, a branch in 0 files, a trivial import in 0 files, a pure import in 0 files, and has commits in 0 files What am I missing? It seems like the symbol handling defined in the options file is not used.... And the advice to set various command line options does not work since they are discarded when one uses an option file in which these options cannot be entered... Seems like I am pretty close and yet not there. -- Bo Berglund Developer in Sweden