"Экспорт" проверки CVS
У меня есть проверка хранилища CVS. Исходный репозиторий больше не существует. Можно ли запустить что-то похожее на "экспорт" на самой кассе? Я хотел бы закончить с набором всех файлов, извлеченных из оформления заказа, и удалить файлы, которые были добавлены впоследствии.
Пример: я проверяю superProject и получаю
А потом добавляю
superProject/checkedoutFile1.txt
superProject/checkedoutFile2.txt
superProject/checkedoutFile3.txt
а затем я хотел бы удалить все файлы, которые не были в исходном оформлении заказа.
superProject/someFile1.txt
superProject/someFile2.txt
superProject/someFile3.txt
2 ответа
cvsu
выполняет автономное обновление cvs, сравнивая временные метки файлов на диске с их временными метками, записанными в CVS/Entries
, Таким образом, вы можете сказать, какие файлы были локально изменены, а какие файлы не известны как находящиеся под контролем CVS.
sudo aptitude install cvsutils
cvsu --batch="tar cf export.tar " --types=AFGM
Бежать cvsu --help
чтобы увидеть поддерживаемые параметры командной строки. Эта функциональность предоставляется Perl и может варьироваться от одного компьютера к другому.
В Windows Cygwin поддерживает это.
Просто отметил ваш комментарий и отредактировал мой ответ соответственно.
Мой первоначальный ответ был: просто удалите все каталоги с именем "CVS"
Естественно, если в извлеченные каталоги было добавлено больше материала, вы должны пойти другим путем. CVS хранит свои метаданные в CVS
подкаталог в каждом извлеченном каталоге. Различные файлы описаны на стр.16 руководства Cederqvist.
В вашем случае интересная информация хранится в Entries
файл, который имеет два разных формата строки:
/filename/...other stuff...
D/directory/...filler...
Первый для простых файлов, второй для каталогов; Там нет конкретного заказа.
Вы можете написать скрипт, который будет идти по дереву каталогов, извлекая из них имена каталогов и файлов Entries
файлы. Вы можете кормить этот список в cpio -pmdv target-dir
создать копию вашей структуры каталогов, которая содержит именно файлы, cvs export
создал бы.
надеюсь, это поможет