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

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

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

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

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

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

Теперь единственный способ зарегистрировать все файлы в рамках этого коммита - это поискать во всех журналах cvs комментарий «Первое исправление ошибки», и, надеюсь, он вернет только две версии файла, упомянутые выше.

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


person Naga Kiran    schedule 30.06.2009    source источник
comment
видели, как cvs делают «идентификатор фиксации», не уверены, не является ли это нестандартным расширением или что-то в этом роде. И понятия не имею, как их использовать для чего-нибудь.   -  person Joakim Elofsson    schedule 01.07.2009


Ответы (5)


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

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

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

person Joakim Elofsson    schedule 30.06.2009
comment
Интересный. Интересно, от чего работает CVSps? Интересно, работает ли cvsps в разных каталогах, поскольку метка времени может отличаться? Конечно, CVSzilla добавляет много очень хороших функций - она ​​связана с CVSweb и Bugzilla, чтобы действительно предоставить очень богатую среду. - person the.jxc; 01.07.2009
comment
Я вижу, что cvsps доступен в стандартных репозиториях Ubuntu. Отметьте этот ответ, чтобы поблагодарить за то, что научили меня cvsps. :) - person the.jxc; 01.07.2009
comment
Я знаю только о его существовании более или менее, поэтому не очень разбираюсь в том, как это работает - person Joakim Elofsson; 01.07.2009
comment
он работает в разных каталогах и по умолчанию имеет временную метку около 10 минут (которую можно изменить), чтобы иметь дело с различиями в метках времени для одной и той же фиксации. (что означает, что если у вас есть не очень уникальные комментарии к фиксации, сделанные близко друг к другу, они могут быть неправильно свернуты в одну фиксацию) - person Ben Clifford; 05.05.2011

CVS не имеет встроенной поддержки «транзакций».

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

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

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

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

person the.jxc    schedule 30.06.2009

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

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

person gaga    schedule 03.06.2011

Хорошо, я только что установил 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.

person the.jxc    schedule 30.06.2009

Это также может быть полезно: http://code.google.com/a/eclipselabs.org/p/changelog/

person Marcin Sanecki    schedule 27.10.2011
comment
попробуйте еще раз, если это все еще не работает, свяжитесь с участником проекта журнала изменений. - person Marcin Sanecki; 10.09.2012