У меня есть частичный репозиторий 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
(или как бы там ни было название вашего проекта) произведет полную проверку.