ССВ:Список всех файлов, измененных между тегами (или датами)

StackOverflow https://stackoverflow.com/questions/139759

  •  02-07-2019
  •  | 
  •  

Вопрос

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

Каждый раз, когда мы выпускаем релиз, мы применяем тег ко всем файлам в этом релизе.Я хочу найти все файлы, которые изменились между выпусками.

Это также сработало бы, если бы я мог найти все файлы, которые изменились между двумя датами.

Это было полезно?

Решение

Я предполагаю, что эта команда поможет:

cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 > diffs

где RELEASE_1_0 и RELEASE_1_1 это имена ваших тегов.

Вы можете найти немного больше информации о команде cvs diff. здесь

Кроме того, создать сценарий, который сделает отчет более подходящим для ваших нужд, должно быть довольно просто, например:количество измененных, созданных, удаленных файлов и т. д.Насколько мне известно, наиболее распространенные инструменты cvs с графическим интерфейсом (wincvs и черепаха) не предоставляют ничего подобного «из коробки».

Надеюсь, поможет ;)

Другие советы

Я предпочитаю использовать rdiff и -s вариант

cvs rdiff -s  -r RELEASE_1_0 -r RELEASE_1_1 module > diffs

rdiff не требует песочницы; -s дает вам сводку изменений.

Чтобы получить список файлов между двумя датами с помощью CVS:

cvs diff -N -c -D YYYY-MM-DD -D YYYY-MM-DD | grep "Index:" > diff.out

Дополнительная информация о принятых датах для флага -D: http://docs.freebsd.org/info/cvs/cvs.info.Common_options.html

Чтобы получить список файлов, которые изменились между одной версией и другой, можно использовать стандартные команды cvs:

cvs -q log -NSR -rV-1-0-69::V-1-0-70 2>/dev/null >log.txt

Или, альтернативно, чтобы получить список комментариев к коммитам, просто отбросьте -R:

cvs -q log -NS -rV-1-0-69::V-1-0-70 2>/dev/null >log.txt

Где вы замените V-1-0-69 и V-1-0-70 с ревизиями, которые вы сравниваете.

cvs log -d ">=DATE" -N -S -R > cvs.log

Метод Длиры дает много деталей, включая все изменения.

Чтобы просто получить список файлов, это работает:

cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 | grep "Index:" > diffs

Лучший инструмент, который я нашел для этого, — это Perl-скрипт под названием cvs2cl.pl.Это может создать список изменений в нескольких различных форматах.У него много разных опций, но я использовал такие опции, как тег-тег:

cvs2cl.pl --delta dev_release_1_2_3:dev_release_1_6_8

или

cvs2cl.pl --delta dev_release_1_2_3:HEAD

Я также проводил сравнения с использованием дат с помощью того же инструмента.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top