Чтобы избежать выполнения моего кода хука, я добавил следующие строки кода в самое начало моего хука:
if "%HG_SOURCE%" == "strip" (
exit /b 0
)
И outgoing
, и preoutgoing
будут снабжены параметр, указывающий исходное действие. В Python этот параметр называется source
, в противном случае вы можете получить доступ к переменной окружения HG_SOURCE
:
hg push
→ HG_SOURCE
равно push
hg strip
→ HG_SOURCE
- это strip
На основании этого наблюдения вы можете просто оценить исходную команду.
Источники: