Почему предыдущий хук выполняется на Strip в Mercurial? - PullRequest
3 голосов
/ 12 марта 2020

Может кто-нибудь объяснить, почему мой preoutgoing хук выполняется при выполнении hg strip (Mercurial Strip)? Есть ли шанс отключить это поведение?

Я ожидал, что при выполнении hg push.

будет работать ловушка.

1 Ответ

3 голосов
/ 13 марта 2020

Чтобы избежать выполнения моего кода хука, я добавил следующие строки кода в самое начало моего хука:

if "%HG_SOURCE%" == "strip" (
    exit /b 0
)

И outgoing, и preoutgoing будут снабжены параметр, указывающий исходное действие. В Python этот параметр называется source, в противном случае вы можете получить доступ к переменной окружения HG_SOURCE:

  • hg pushHG_SOURCE равно push
  • hg stripHG_SOURCE - это strip

На основании этого наблюдения вы можете просто оценить исходную команду.

Источники:

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