Вопрос по version-control – Перечислите все проверенные файлы в одном коммите cvs

14

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

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

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

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

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

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

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

видел, что cvs делает 'Commit Identifier', не уверен, что это не стандартное расширение или около того. И понятия не имею, как использовать их для чего-либо. Joakim Elofsson

Ваш Ответ

5   ответов
11

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

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

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

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

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

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

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

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

1

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

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

0

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

0
сайт обновления выбрасывает тайм-аут Julien
попробуйте еще раз, если он все еще не работает, пожалуйста, свяжитесь с участником проекта журнала изменений. Marcin Sanecki

Похожие вопросы