Mercurial ChangeSet Hook existe com o status -1
-
25-09-2019 - |
Pergunta
Estou usando o Mercurial SCM em uma LAN usando uma pasta compartilhada normal em vez de http e estou tendo problemas para obter o gancho de atualização automática para executar.
Eu entrei neste gancho como detalhado nas perguntas frequentes. Isso instala o gancho, mas quando eu empurro algo para o repositório remoto, recebo um erro:
added 1 changesets with 1 changes to 1 files
running hook changegroup: hg update >&2
warning: changegroup hook exited with status -1
Há Outra questão do Stackoverflow Semelhante a isso, mas não oferece outras soluções além de um erro de permissões em algum lugar.
Alguém mais teve esse problema e mais alguém pode lançar mais luz sobre isso ou me dar um aviso sobre onde começar a consertar isso? Obrigado.
Solução
É hg
no seu caminho de pesquisa padrão?
Substitua o seu .hgrc
Configuração com um script personalizado, por exemplo
[hooks]
changegroup = /var/tmp/myscript.sh
[ui]
debug = true
(Unix) no /var/tmp/myscript.sh
Escreva algo assim:
#!/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) Não se esqueça de marcar como executável: chmod a+x /var/tmp/myscript.sh
(Windows) O arquivo em lote correspondente 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) Claro, a linha em .hgrc
é changegroup = \your\directory\myscript.bat
.
Execute o seu hg push
comando para reproduzir o problema.
Verifique o conteúdo do /tmp/myscript.log
Arquivo.