Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

Я полагаю, эта команда помогла бы:

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

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

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

плюс это должно быть довольно просто создать script, чтобы сделать отчет более подходящим для ваших нужд, например: количество файлов, измененных, созданных удаленных и т.д. Насколько мне известно, наиболее распространенные инструменты cvs GUI (wincvs and tortoise ) не предоставляют что-то подобное из коробки.

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

Ответ 2

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

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

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

Ответ 3

Чтобы получить список файлов между двумя датами с помощью 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

Ответ 4

Чтобы получить список файлов, которые были изменены между одной версией и другой с помощью стандартных команд 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 на ревизии, которые вы сравниваете.

Ответ 5

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

Ответ 6

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

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

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

Ответ 7

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

cvs2cl.pl --delta dev_release_1_2_3:dev_release_1_6_8

или

cvs2cl.pl --delta dev_release_1_2_3:HEAD

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