Фон: запись автоматизированного сценария выпуска для экспорта измененных файлов между версиями от SVN и загрузки на удаленный сервер.
Команда журнала svn показывает измененные файлы и свойства, но, кажется, не отличает свой подробный вывод между модификацией содержания по модификациям свойства.
Я читаю этот вывод неправильно или являюсь там простым способом получить список измененных файлов между изменениями при игнорировании изменений опоры
Вот мой образец cmd:
#: svn log "someurl" -r 2210:HEAD -v -q
Output:
------------------------------------------------------------------------
r2211 | author | 2010-02-08 12:36:56 +1300 (Mon, 08 Feb 2010)
Changed paths:
M /branches/project/release-v1-r-maintenance
M /branches/project/release-v1-r-maintenance/offroot/
M /branches/project/release-v1-r-maintenance/offroot/test.config
------------------------------------------------------------------------
Лучшие два являются только изменениями опоры (mergeinfo, игнорирует, и т.д.), тогда как 3-й объект является фактическим довольным редактирование, и это - реальный объект, который я хочу захватить, чтобы не экспортировать целый корень на всем протяжении.
Должен там так или иначе получить/отфильтровать просто изменения содержания от журнала svn или другой команды.
К вашему сведению, я опубликовал bash-скрипт на How to make 'svn log' ignore property changes?, который реализует то, на что намекал jeroenh... обработка вывода svn log для управления svn diff и фильтрация вывода последнего.
Я думаю, что единственный способ - это действительно разобрать диф-выход для каждой ревизии, хотя это кажется довольно хрупким, и, вероятно, очень медленным...
Вот как выглядит запись о диффузии для файла с только измененными свойствами:
c:\test\wc>svn diff -c 3
Property changes on: test.txt
___________________________________________________________________
Added: test
+ test
Это то, как запись о диффузии ищет файл с измененным содержимым И измененными свойствами:
c:\test\wc>svn diff -c 4
Index: test.txt
===================================================================
--- test.txt (revision 3)
+++ test.txt (revision 4)
@@ -1 +1,2 @@
+asdfads
Property changes on: test.txt
___________________________________________________________________
Added: someproperty
+ somepropertyvalue