23

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

Для примера я хочу их Commit сообщение по умолчанию, к ...

Синопсис:

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

Пересмотрены:

[Bug Id]:

[Change Bug State]:

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

Затронутые Файлы: (предварительно заселена)

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

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

+10

«Затронутые файлы», а также, возможно, «Разработчик Имя», не должно быть в сообщении фиксации, потому что они * надежно * в встроенных фиксации метаданных. –

ответ

30

Взятый из How to create a Tortoise SVN Checkin Template (изменен, чтобы соответствовать большему количеству текущей версии):

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

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

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

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

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

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

  5. Кликните, чтобы добавить эту недвижимость к списку. OK.

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

+4

Было немного сложно найти, но предположим, что это ожидалось около 4 лет спустя :) Я нашел его с помощью: Папки правой кнопкой мыши -> Свойства -> Создать ... -> Дополнительно -> Имя свойства: tsvn: logtemplate - > введите значение свойства -> OK -> ОК. Рекурсивный вариант, похоже, не имеет значения, применяя или удаляя это значение шаблона. Большое спасибо adrainbanks (даже спустя 4 года!). –

+0

Рекурсивный параметр имеет значение только в том случае, если вы не проверяете корневую папку (где свойство было установлено только). Все свойства 'tsvn' являются свойствами клиента, поэтому связь с сервером не выполняется для чтения свойств. – mliebelt

+0

Ссылка гнить. Новая ссылка: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-propertypage.html –

4

способ сделать это с помощью командной строки, чтобы изменить переменную 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

Или, для дальнейшего комфорта 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, чтобы получить названия страниц и т. Д.). Или просто попросите этот сценарий запустить первый начальный редактор в файле постоянных рабочих элементов и , затем, чтобы он выполнял второй запуск редактора по настраиваемому шаблону фиксации.

1

Я нашел его с помощью: Folder right-click -> Properties -> New... -> Advanced -> Property name: tsvn:logtemplate -> enter a Property value -> OK -> OK.

Смежные вопросы