Оформление 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.