Как мне создать шаблон сообщения SVN Commit и Hook to Verify - PullRequest
25 голосов
/ 11 июня 2009

Я использую Visual SVN Server и Tortoise SVN (клиент) для контроля версий. Я хотел бы, чтобы все разработчики стандартизировали единый формат для отметок о регистрации.

Например, я хочу, чтобы их сообщение по умолчанию было ...

Справка:

Имя разработчика: (предварительно заполнено)

Отзыв:

[идентификатор ошибки]:

[Изменить состояние ошибки]:

Известные проблемы:

Затрагиваемые файлы: (предварительно заполнено)

В будущем я бы хотел, чтобы [Bug Id] и [Bug State] предоставляли информацию для автоматического обновления системы отслеживания ошибок. Также Имя разработчика и Затронутые файлы должны быть предварительно заполнены пользователем svn и файлами, которые пользователь передает.

Пожалуйста, присылайте любые ссылки или образцы, которые вы можете иметь.

Ответы [ 4 ]

31 голосов
/ 24 июня 2009

Взято из Как создать шаблон регистрации черепахи SVN (изменен для соответствия более новым версиям):

Шаблон журнала может быть настроен в соответствии с требованиями проекта и может использоваться для реализации строгого формата журнала.

Добавить это в свой SVN-репозиторий легко:

  1. Выберите папку SVN, к которой вы хотите применить это, перейдите в свойства Subversion (щелкните правой кнопкой мыши TortoiseSVN -> Properties)

  2. Выберите New -> Advanced, затем tsvn:logtemplate из раскрывающегося списка с именем Property name.

  3. Добавьте вышеуказанные шаблоны (или свои собственные) в текстовую область под полем со списком.

  4. Если вы хотите применить свойство к каждому файлу и папке в иерархии ниже текущей папки, установите флажок Рекурсивно.

  5. Нажмите OK, чтобы добавить это свойство в список.

  6. Регистрация всех папок и файлов, чтобы все остальные члены вашей команды могли использовать один и тот же шаблон.

4 голосов
/ 03 февраля 2010

Способ сделать это с помощью командной строки - изменить переменную среды SVN_EDITOR, описанную здесь:

http://svn.haxx.se/dev/archive-2006-02/0487.shtml

SVN_EDITOR="rm svn-commit.tmp && cp $REPOS/hooks/log.tmpl svn-commit.tmp && vi svn-commit.tmp"
1 голос
/ 14 декабря 2015

Я нашел это используя: Folder right-click -> Properties -> New... -> Advanced -> Property name: tsvn:logtemplate -> enter a Property value -> OK -> OK.

1 голос
/ 12 апреля 2012

Или, для дополнительного удобства SVN_EDITOR (например, правильная привязка к рабочему элементу TFS в случае необходимости использовать SvnBridge), можно сохранить следующий скрипт как ~ / bin / svn_editor:

#!/bin/sh

template_file="${@}"
template_file_new="${template_file}.new"

current_work_item_number_file="${HOME}/tfs_work_item_number_current.txt"
[ -f "${current_work_item_number_file}" ] && work_item=$(cat "${current_work_item_number_file}") || work_item="please fill in!"

# Yes folks, this is the TFS convention (hard, NOT-TO-BE-ALTERED text)
# to properly link to work items via SvnBridge commits!
work_item_prefix_hard_tfs_convention_text="work item: "

work_item_text="${work_item_prefix_hard_tfs_convention_text}${work_item}"

custom_text="${work_item_text}\n\n[this addition above initially placed to ignored content part here,\nto ensure properly abortable empty message by default - please move it to active content as needed]"

sed -e 's/\(will be ignored--\)/\1\n'"${custom_text}"'/' "${template_file}" > "${template_file_new}"

mv -f "${template_file_new}" "${template_file}"

$EDITOR "${@}"

, а затем просто сделайте

export SVN_EDITOR=~/bin/svn_editor

в ~ / .bashrc или что-то подобное. Бонусные баллы за постоянное обновление файла номера рабочего элемента даже со страницы текущего рабочего элемента, если смотреть в веб-интерфейсе Firefox TFS (я думаю, что, возможно, существует способ связи с Firefox для получения заголовков страниц и т. Д.). Или просто запустите этот сценарий для запуска первого начального редактора в файле постоянного рабочего элемента, а , а затем , дайте ему запустить второй редактор в настроенном шаблоне фиксации.

...