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

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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top