Крюк Mercurial Begetset существует со статусом -1
-
25-09-2019 - |
Вопрос
Я использую Mercurial SCM на локальной сети, используя обычную общую папку вместо http, и у меня возникла проблема, чтобы запускать кнопку AUTO UPDATE.
Я вошел в этот крюк как подробно в FAQ. Отказ Это устанавливает крючок, но когда я толкаю что-то в удаленный репозиторий, я получаю ошибку:
added 1 changesets with 1 changes to 1 files
running hook changegroup: hg update >&2
warning: changegroup hook exited with status -1
Есть Другой вопрос стойки стойки Похоже на это, но он не предлагает никаких решений, кроме того, что может быть ошибка разрешений где-то.
У кого-нибудь еще была эта проблема, и кто-нибудь еще может пролить свет на это или дать мне голову, куда начать исправить это? Спасибо.
Решение
Является hg
В вашем стандартном пути поиска?
Заменить свой .hgrc
Конфигурация с пользовательским скриптом, например
[hooks]
changegroup = /var/tmp/myscript.sh
[ui]
debug = true
(Unix) в /var/tmp/myscript.sh
Напишите что-то вроде этого:
#!/bin/sh
set -e
echo ---------- >>/tmp/myscript.log
set >>/tmp/myscript.log
echo --- >>/tmp/myscript.log
pwd >>/tmp/myscript.log
hg update >>/tmp/myscript.log 2>&1
(Unix) не забудьте отметить как исполняемый файл: chmod a+x /var/tmp/myscript.sh
(Windows) соответствующий пакетный файл myscript.bat
является:
@echo off
echo ------ >>%TEMP%\myscript.log
set >>%TEMP%\myscript.log
echo --- >>%TEMP%\myscript.log
cd >>%TEMP%\myscript.log
hg update >>%TEMP%\myscript.log 2>&1
(Windows) Конечно, линия в .hgrc
является changegroup = \your\directory\myscript.bat
.
Запустить ваш hg push
Команда для воспроизведения проблемы.
Проверьте содержимое /tmp/myscript.log
файл.