“Экспортируйте” контроль CVS

У меня есть контроль репозитория CVS. Исходный репозиторий больше не существует. Было бы возможно выполнить что-то подобное для "экспортирования" на самом контроле? То, с чем я хотел бы закончить, является набором всех файлов, которые прибыли из контроля, и удалите файлы, которые были добавлены впоследствии.

Пример: Я проверяю суперпроект и добираюсь

superProject/checkedoutFile1.txt
superProject/checkedoutFile2.txt
superProject/checkedoutFile3.txt
И затем я добавляю
superProject/someFile1.txt
superProject/someFile2.txt
superProject/someFile3.txt
и затем я хотел бы удалить все файлы, которые не были в исходном контроле.

0
задан 25.06.2010, 14:45

2 ответа

cvsu делает офлайновое обновление cvs путем сравнения меток времени файлов на диске с их метками времени, зарегистрированными в CVS/Entries. Можно таким образом сказать, какие файлы были локально изменены и какие файлы, как известно, не находятся под контролем CVS.

sudo aptitude install cvsutils
cvsu --batch="tar cf export.tar " --types=AFGM

Выполненный cvsu --help видеть поддерживаемые параметры командной строки. Эта функциональность обеспечивается Perl и может варьироваться от одной машины до другого.

В Windows Cygwin поддерживает его.

3
ответ дан 24.11.2019, 03:39

Просто отмеченный Ваш комментарий и отредактированный мой ответ соответственно.

Мой первоначальный ответ был: просто удалите все каталоги под названием "CVS"

Естественно, если больше материала было добавлено к проверенным каталогам, необходимо пойти другим путем. CVS сохраняет свои метаданные в a CVS подкаталог в каждом проверил каталог. Различные файлы описаны на p.16 руководства Cederqvist.

В Вашем случае интересная информация удерживается Entries файл, который имеет два различных формата строки:

/filename/...other stuff...
D/directory/...filler...

Первый для простых файлов, второй для каталогов; нет никакого особого порядка.

Вы могли записать сценарий, который спускается с дерева каталогов, извлекая имена каталогов и имена файлов от них Entries файлы. Можно подать этот список в cpio -pmdv target-dir создать копию Вашей структуры каталогов, которая содержит точно файлы, a cvs export создал бы.

Я надеюсь, что это помогает

1
ответ дан 24.11.2019, 03:39

Теги

Похожие вопросы