Назад | Перейти на главную страницу

Проверка CVS из частичного репозитория

У меня есть частичный репозиторий CVS - копия подпапки в главном репозитории, и я хотел бы проверить голову. Я пробовал делать это напрямую:

$ cvs -d /path/B2MEj/ co B2MEj
cvs [checkout aborted]: /path/B2MEj/CVSROOT: No such file or directory

Моя копия не содержит CVSROOT (так как я полагаю, это был подкаталог исходного корня репозитория).

Как я могу получить чистую копию последней версии файлов в этой папке? Я не забочусь о сохранении истории версий, так как для меня это одностороннее извлечение.

Без CVSROOT cvs абсолютно ничего не знает о том, что находится в вашей папке, поскольку вся информация о файлах и версиях находилась в одном каталоге CVSROOT.

Что вам нужно сделать, так это использовать RCS для извлечения самой последней версии каждого ,v файл по отдельности, который должен работать в bash с чем-то вроде следующего:

for fn in *,v; do
  co ${fn%,v}
done

Поскольку RCS co команда ожидает исходное имя файла, мы должны найти все ,v files и запустите co с именем файла минус v.

Как только это будет сделано, вам нужно будет отсортировать код из файлов, v.

Кажется, что вся необходимая информация содержится в файлах, v и каталогах Attic в моем частичном репозитории. Ключ в том, чтобы просто создать пустой корень CVS с cvs -d /workingdir init а затем скопируйте исходную (частичную) папку репозитория в workingdir. На этом этапе простой cvs -d /workingdir co B2MEj (или как бы там ни было название вашего проекта) произведет полную проверку.