Можно ли ограничить разветвление и тегирование в CVS на сервере? - PullRequest
1 голос
/ 24 июня 2010

Нам нужно преобразовать производственный CVS-репозиторий в SVN.Мы используем CVS2SVN для необработанного процесса преобразования, а также некоторые другие инструменты.

Поскольку это живой репозиторий разработки, время простоя в точке переключения репозитория довольно важно.Наши тестовые прогоны базовой конверсии CVS2SVN в настоящее время занимают приблизительно 5 дней, что слишком долго.

Я ищу несколько альтернативных подходов, чтобы сделать процесс несколько инкрементным.Один из подходов требует, чтобы тегирование и ветвление были ограничены в хранилище CVS.

Можно ли ограничить тегирование и ветвление, но разрешить нормальные фиксации в хранилище CVS?

1 Ответ

1 голос
/ 25 июня 2010

Получается, что это возможно с помощью сценария предварительной фиксации taginfo, как подробно описано в разделе администрирования руководства здесь .

Файл taginfo

То, что loginfo делает для сообщений журнала, taginfo делает для тегов.Левая сторона taginfo - это регулярные выражения, как обычно, а правая часть - программы.Каждая программа автоматически получает аргументы при вызове тега CVS в следующем порядке:

arg 1:          tag name
arg 2:          operation ("add" => tag, "mov" => tag -F, "del" => tag -d)
arg 3:          repository
arg 4, 5, etc:  file revision [file revision ...]

Если программа возвращает ненулевое значение, тег отменяется.

...