Mercurial, написание хуков с помощью API .NET - PullRequest
18 голосов
/ 09 июня 2011

Привет! Я ищу примеры написания перехватчиков Mercurial на языке .NET, включая настройку .hg / hgr

. Я использовал API "Mercurial.Net", но информация вПеременные среды Windows немного ограничены, и возврат сообщений об ошибках по стандартному каналу ошибок не работает.Я думаю, что я делаю что-то не так.

Я использую .Net по ряду причин, одна из которых связана с другими системами, использующими WFC

1 Ответ

10 голосов
/ 16 июня 2011

РЕДАКТИРОВАТЬ Новая версия Mercurial.Net упрощает написание хуков, см. http://mercurialnet.codeplex.com/discussions/261283

  1. Создание проекта «Приложение Windows» (например, MyHook).
  2. Добавлениессылка на "Mercurial.Net" (вы можете использовать NuGet, чтобы упростить его http://nuget.org/List/Packages/Mercurial.Net).
  3. В вашем основном методе выполняйте любую обработку, какую хотите (например, получите журнал, а затем информацию о последнем коммите - см.http://mercurialnet.codeplex.com/discussions/261283 для примеров.) Вы можете добавить MessageBox.Show(message), чтобы проверить, действительно ли выполняется хук.
  4. Скомпилируйте ваш проект.
  5. Добавьте хук к вашемуФайл .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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...