私は(とりわけ)次の記号を持つCVSリポジトリの変換に取り組んでいます:
tcm-6.1.0-branch
--ブランチ
tcm-6.1.0
--タグ
標準の変換を使用すると、cvs2svnはそれらを適切に識別します。ただし、変換中にクリーンアップを実行したいと思います。具体的には、ブランチシンボルの冗長な「-branch」部分を削除したいと思います。これは、svnの「branches」ディレクトリにあるためです。プロジェクトのsymbol_transformsに以下を追加しました。
RegexpSymbolTransform(r'(.*)-branch', r'\1')
tcm-6.1.0
ブランチとタグの両方であるため、すべてのファイルに対して「エラー:シンボル'tcm-6.1.0'の複数の定義...」が表示されます。この問題を引き起こすCVSシンボルペアがいくつかあります。
ソースシンボルと宛先ディレクトリが異なるため、この操作が可能であるように思われます。私が見逃しているものはありますか、それともこれは単にcvs2svnの欠点ですか?
これらのシンボルの名前を変更して、それらが別々のままになり、同じ名前のブランチとタグになるようにするにはどうすればよいですか?
-
回避策がない場合は、変換ルールから問題のあるシンボルを除外し、後で手動で移動しようとしますが、変換時に実行したいと思います。