#cvs
#cvs
Вопрос:
Учитывая:
-В CVS есть определенный модуль, давайте назовем его test_module
-Есть определенный тег, который я применил, давайте назовем его test_tag
Теперь, как я могу получить список всех файлов в модуле ‘test_module’, которые были помечены ‘test_tag’, включая их номер редакции CVS?
Результат должен быть примерно таким:
/path/to/file1 1.2
/path/to/file2 1.2.4.2
/path/to/file3 1.3
и т.д.
У меня старая версия CVS (что-то вроде 1.11), которую я не могу изменить самостоятельно. В нем нет команды ‘cvs ls’.
Ответ №1:
Я предполагаю, что у вас нет доступа к серверу CVS.
Вам нужно будет проверить workspace для этого тега cvs co -r test_tag test_module
.
Затем вы должны получить версии для каждого файла. У вас есть выбор из
- Выполняем
find
для всех файлов, исключая те, что находятся вCVS
каталогах, и запускаемcvs status
для каждого файла,grep
определяя версию. Это намного медленнее, но использует только команды пользовательского уровня. find
ввод всехCVS/Entries
файлов иcat
их ввод,grep
удаление записей каталога и использованиеawk
для печати только имен файлов и версий. Вам потребуется небольшая хитрость, чтобы добавить пути обратно к файлам. Вероятно, это ваш лучший выбор. Это намного быстрее, но вы попадаете в файлы метаданных CVS, которые на самом деле не должны просматриваться конечным пользователем.