Список всех зарегистрированных файлов в одном cvs commit

Как правило, наши исправления/исправления для любых ошибок включают в себя изменения в нескольких файлах, и мы будем передавать все эти файлы за один снимок.

В SVN для каждой фиксации (может быть задействовано несколько файлов) она будет увеличивать число ревизий всего репозитория на единицу. Таким образом, мы можем легко связать все несколько файлов, которые были отправлены в одном коммите.

Теперь проблема с тем же случаем в CVS заключается в том, что он будет увеличивать номера версий всех файлов по отдельности. Скажем, если коммит включает следующие файлы:

file1.c//ревизия, назначенная как часть этого commit..1.5.10.2
file2.c//ревизия, назначенная как часть этого commit..1.41.10.1

а комментарий для этой фиксации - "Исправление первой ошибки".

Теперь единственный способ получить все проверенные файлы как часть этого коммита - путем поиска по всем журналам cvs для комментария "First Bug Fix" и, надеюсь, он вернет только два исправления файла, упомянутые выше.

Пожалуйста, поделитесь своими взглядами, есть ли лучший способ в CVS, чтобы отслеживать все зарегистрированные файлы в одном коммите, а не ретранслировать комментарий, указанный как часть commit.

Ответы

Ответ 1

Я думаю, CVSps может делать то, что вы ищете.

"CVSps - это программа для генерации информации" patchset "из репозитория CVS. Патч-набор в этом случае определяется как набор изменений, внесенных в коллекцию файлов, и все зафиксированные в одно и то же время (с использованием одного" cvs commit '). Эта информация ценна для просмотра большой картины эволюции проекта cvs. Хотя cvs отслеживает информацию о ревизии, часто бывает трудно понять, какие изменения были совершены "атомарно" в репозитории ".

Этот cvsps использует клиент cvs. Убедитесь, что у вас есть правильная версия cvs, которая поддерживает команду rlog (1.1.1)

Ответ 2

CVS не имеет неотъемлемой поддержки для "транзакций".

Для этого нужен дополнительный клей. К счастью, все это было сделано для вас и доступно в очень красивом расширении под названием "cvszilla".

Домашняя страница находится здесь:

http://www.nyetwork.org/wiki/CVSZilla

Это также связано с CVSweb, что является отличным способом просмотра ваших модулей CVS через веб-интерфейс.

Ответ 3

Возможно, задача ANT CvsChangeLog - это другой выбор. См. http://ant.apache.org/manual/Tasks/changelog.html. Он предоставляет дату и время для сообщения для проверки. Вы можете создавать приятные отчеты с помощью XSLT - попробуйте пример внизу справочной страницы ANT.

Я знаю, что поздно для ответа, но, возможно, другие пользователи сталкиваются с этим, как и я (поиск), и ценю интеграцию ANT.

Ответ 4

ОК, я только что установил cvsps и запустил его с верхнего уровня. Здесь образец вывода... это один из немногих наборов патчей на моем модуле. Обратите внимание, что это действительно работает в разных деревах каталогов.

---------------------
PatchSet 221         
Date: 2009/04/22 22:09:37
Author: jlove-ext        
Branch: HEAD             
Tag: LCA_v1_0_0_0_v6     
Log:                     
Bug: 45562               
Check the length of strings in messages. Namely:

  * Logical server IDs cannot be more than 18 characters (forcing a
    TCSE protocol requirement).                                    
  * Overall 'sid' (filter) search string length cannot be more than
    500 (this is actually more than the technical maximum messages are
    allowed, but is close).                                           

Alarm messages and are now not going to crash either as the alarm text
is shortened if necessary by the LCA.                                 

Members: 
        catalogue/extractCmnAlarms.pl:1.2->1.3 
        programs/ldapControlAgent/LcaCommon.h:1.18->1.19 
        programs/ldapControlAgent/LcaUtils.cc:1.20->1.21 
        programs/ldapControlAgent/LcaUtils.h:1.6->1.7    
        programs/ldapControlAgent/LdapSession.cc:1.61->1.62 
        tests/cts-45562.txt:INITIAL->1.1

Итак, это действительно может делать то, что вы хотите. Хороший, Йоаким. Однако, как уже упоминалось, CVSzilla делает гораздо больше, чем это:

  • Репозитории CVS, доступные для просмотра в Интернете (через CVSweb).
  • Операции с веб-браузером.
  • Поддерживает транзакции через модули.
  • Генерирует команды CVS (используя 'cvs -j') для объединения патчей в другие ветки.
  • Интеграция с bugzilla (транзакции автоматически регистрируются с ошибками).

Если все, что вам нужно, это всего лишь информация о наборе, перейдите к cvsps. Если вы хотите использовать CVS для больших проектов в течение длительного периода времени и думаете об использовании bugzilla для отслеживания ошибок, я бы предложил просмотреть CVSzilla.