Как настроить "файл сообщения фиксации", сгенерированный "HG commit"?
когда я запускаю hg commit
, Mercurial генерирует файл для моего сообщения фиксации, который выглядит следующим образом:
HG: Enter commit message. Lines beginning with 'HG:' are removed.
HG: Leave message empty to abort commit.
HG: --
HG: user: Henri Wiechers <hwiechers@gmail.com>
HG: branch 'default'
HG: added a.txt
есть ли способ настроить этот файл? Я хотел бы включить, если рабочая копия имеет любые неизвестные файлы.
5 ответов
нет официального способа сделать это без изменения самого mercurial (не очень пугающе, это очень чистый Python), но вот способ сделать это, настроив editor
задание вашего ~/.hgrc
:
editor = hg status --unknown >! /tmp/unknown_list ; /usr/bin/vim -c "r /tmp/unknown_list"
то есть, конечно, vim на Linux специфичен, но то же самое можно сделать для любого приличного редактора на любой ОС.
Я хотел сделать это под Windows. Идея настройки настроек редактора в ini/.файл hgrc заставил меня подумать о замене команды редактора командным файлом.
например, если вы установите это в mercurial.ini:
[ui]
editor = c:\path\to\hgedit.cmd
затем hg вызовет командный файл и передаст имя временного файла в командной строке. Имя временного файла можно получить в командном файле с помощью параметра %1.
hgedit.cmd может быть чем-то например:
@echo off
hg status --unknown>>%1
notepad %1
Если вы хотите добавить вывод hg в качестве комментариев, Вы можете сделать следующее:
@echo off
echo HG: -->>%1
echo HG: Unknown files:>>%1
for /f "tokens=*" %%a in ('hg st --unknown') do echo HG: %%a>>%1
notepad %1
(вам, конечно, не нужно использовать блокнот.)
вариант ответа Джима Эгглстона для Mac/Linux... Я сделал скрипт под названием hg-commit-editor:
#!/bin/sh
hg status --unknown | sed -e 's|^|HG: |' >>
editor
а затем установите его в качестве редактора фиксации в моем hgrc:
[ui]
editor = hg-commit-editor
использовать hg commit -m "My message here"
. Вы также можете настроить редактор в своем Mercurial.ini
или . Добавить следующее:
[ui]
editor = /path/to/your/favorite/editor
есть много способов сделать это. Некоторые даже перечислены на официальной вики. Это расширяет ответ @Ry4an. Вы можете добавить это в ваш ~/.hgrc
[ui]
editor = function hgvi { hg status --unknown | sed 's/^/HG: /g' >> ""; vi ""; }; hgvi