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

Пример: я проверяю superProject и получаю

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

2 ответа2

3

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

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

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

На Windows Cygwin поддерживает это.

1

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

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

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

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

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

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

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

надеюсь, это поможет

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .