РЕЗЮМЕ: Как составить список всех файлов с определенным тегом, включая их номер редакции?

#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, которые на самом деле не должны просматриваться конечным пользователем.