2017-02-07 8 views
0

Мои ветви функций называются feature/x_somename, где x - номер билета. Каждый раз, когда я начинаю новый коммит, должно произойти следующее:Номер билета из названия филиала и показать его как сообщение о фиксации по умолчанию в TortoiseGit на Windows

  1. Разберите номер билета из названия филиала.
  2. Поместить refs #x: в сообщение фиксации (где x - номер билета).
  3. Показать диалог фиксации с приготовленными сообщениями фиксацией

Как я могу это сделать?

ответ

0

Это может быть сделано с помощью TortoiseGit hooks (не следует путать с git hooks):

  1. Создайте пакетный файл, содержащий следующие строки (просто скопируйте и вставьте):

    :: try to parse ticket number from branchname (expected format: "sometext/ticketnumber_sometext") 
    for /f "tokens=2 delims=/_" %%i in ('git rev-parse --abbrev-ref HEAD') do set c=%%i 
    :: print "refs #ticketnumber: " 
    if defined c echo refs #%c%: >> %2` 
    
  2. В настройки TortoiseGit идут до Hook Scripts.

  3. Пресс Add.
  4. Проверить Enabled.
  5. Выберите путь этого крючок должен работать (* для всех путей)
  6. Поместите путь к пакетному сценарию в Command Line To Execute окна.
  7. Нажмите Ok и закройте настройки.
  8. Закройте и снова откройте все окна TortoiseGit, чтобы обеспечить настройку крючка.

Что делает пакетный файл?
git rev-parse --abbrev-ref HEAD возвращает branchname.
Команда for разделяет результат на / и _.
Затем он займет вторую часть этого разделения и сохранит его в %% i.
Затем он сохраняет %% i переменной c.
if просто проверяет, определена ли c, и если да, то печатает результат.