Ответ 1
EDIT Новая версия Mercurial.Net упрощает написание крючков, см. http://mercurialnet.codeplex.com/discussions/261283
- Создайте проект "Приложение Windows" (например, MyHook).
- Добавьте ссылку на "Mercurial.Net" (вы можете использовать NuGet, чтобы упростить http://nuget.org/List/Packages/Mercurial.Net).
- В своем основном методе выполните любую необходимую обработку (например, извлеките журнал, а затем информацию о последнем фиксации - см. http://mercurialnet.codeplex.com/discussions/261283 для примера). Вы можете добавить
MessageBox.Show(message)
, чтобы проверить, действительно ли выполнен крючок. - Скомпилируйте свой проект.
-
Добавьте крючок в ваш .hg/hgrc файл (ниже приведен пример крючка, который будет выполняться после каждой фиксации, см. https://www.mercurial-scm.org/wiki/Hook для получения дополнительной информации, http://hgbook.red-bean.com/read/handling-repository-events-with-hooks.html для получения дополнительной информации):
[hooks] commit.hook1 = "C:\path to file\MyHook.exe"
В следующий раз, когда вы совершаете свой крючок, должен быть выполнен.
Проверьте http://docs.vkarlsen.no/Mercurial.Net/, чтобы узнать о классах Mercurial.Net.