Я тоже искал примеры хуков перед фиксацией, которые модифицируют svn: log, поскольку в нем явно сказано, что вы можете сделать это в pre-commit.tmpl. Мой сценарий предварительной фиксации BASH для Subversion вызывает сценарий Python, чтобы установить сообщение журнала, расширив ключ выпуска JIRA до сводки по выпуску JIRA. Я обнаружил, что даже на момент написания этой статьи не так много примеров, и я также обнаружил, что большинство людей считают, что это плохая идея, потому что они путают изменение не версионных свойств с изменением транзакции. правильный.
Единственный способ фактически изменить svn: log в хуке предварительной фиксации - использовать привязки Python к API svn, как они делают это в проекте FreeBSD со скриптом log log. Джеймс Таубер объясняет это (хотя пост датирован, потому что он ссылается на SVN 1.3) - Google, потому что я не могу опубликовать больше ссылок в этом ответе.
Важно знать, что существует несколько различных привязок Python к Subversion, кроме оболочки на основе SWIG, основанной на Python-subversion, которая поставляется вместе с самой Subversion (например, SubvertPy). Проект PySVN включает интерфейс «транзакции», который дает вам возможность изменять svn: log в хуке предварительной фиксации. На самом деле это несколько документировано, в отличие от стандартных привязок Python-Subversion.