Оформление CVS из частичного репозитория

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

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

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

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

2 ответа

Решение

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

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

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

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

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

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

Другие вопросы по тегам