Если вы хотите сохранить одну ветвь и нет тегов, тогда это легко. Первое правило, которое соответствует символ используется, поэтому указать ветвь, которую вы хотите быть включены затем исключить все остальное:
cvs2svn --force-branch=mybranch --exclude='.*' ...
Если вы хотите включить не только отрасли, но и как много тегов, как это возможно, то это немного сложнее. Вы не только знаете имена всех тегов, но также не можете включать теги, зависящие от исключенных ветвей. В этом случае проще всего работать с --write-символ-инфо и --symbol намеков варианты:
cvs2svn --write-symbol-info=symbol-info.out --passes=1:3 ...
Это создаст файл под названием «Символ-info.out», содержащий информацию обо всех Символы CVS. В своем редакторе откройте этот файл, найдите все строки, соответствующие ветвям, которые вы хотите исключить, и измените третий столбец этих строк на слово «исключить». Убедитесь, что третий столбец строки для ветки, который вы хотите включить, содержит слово «ветвь», а его четвертый столбец - путь, по которому вы хотите, чтобы он закончился.
Теперь запустите cvs2svn снова, начиная с прохода 3, и с использованием отредактированного символов файла информации как символ подсказки файла:
cvs2svn --symbol-hints=symbol-info.out --passes=3 ...
вы получите много ошибок, как:
ERROR: ExcludedSymbol('FOO_BRANCH') cannot be excluded because the following symbols depend on it:
BAR_TAG
BAZ_TAG
Теперь вернитесь в редактор и измените перечисленные теги (BAR_TAG и BAZ_TAG в примере), чтобы их тоже исключили, а затем попробуйте запустить pass3 снова. Эта процедура может потребоваться повторить несколько раз, но это не должно быть громоздким, поскольку pass3 работает очень быстро.
Когда вы получили pass3 завершить без ошибок, выполнять все остальные преобразования:.
cvs2svn --symbol-hints=symbol-info.out --passes=4: ...
Вариант, о котором вы упоминали - ветвь -force, не работает. ОДНАКО, второй вариант с символьной информацией работает отлично! Спасибо! – Oded