Обнаружение реинтеграции или слияния ветвей в сценарии предварительной фиксации

Возможно ли в сценарии перед фиксацией (и если да, то как) идентифицировать фиксации, происходящие из слияния svn ?

svnlook changed ... показывает файлы, которые были изменены, но не делает различий между слиянием и ручным редактированием.

В идеале я также хотел бы различать стандартное слияние и слияние - реинтеграцию .

Предпосылки:

Я изучаю возможность использования хуков предварительной фиксации для обеспечения соблюдения политик использования SVN в нашем проекте.

Одна из политик гласит, что некоторые каталоги (например, / trunk ) не должны изменяться напрямую, а изменяться только путем реинтеграции ветвей функций. Таким образом, сценарий предварительной фиксации отклоняет все изменения, внесенные в эти каталоги, за исключением повторной интеграции веток.

Есть идеи?


Обновление:

Я изучил команду svnlook , и самое близкое, что у меня есть, это обнаружение и анализ изменений в svn: mergeinfo свойство каталога. У этого подхода есть некоторый недостаток:

  1. svnlook может отмечать изменение свойств, но не то, какое свойство было изменено. (требуется различие с проплистом предыдущей версии)
  2. Проверяя изменения в svn: mergeinfo , можно обнаружить, что svn merge был запущен. Однако невозможно определить, являются ли коммиты исключительно результатом слияния. Изменения, внесенные вручную после слияния, останутся незамеченными. (связанное сообщение: Различия дерева транзакций с другим путем / ревизией )

12
задан Community 23 May 2017 в 12:15
поделиться