Question

J'utilise Mercurial SCM sur un réseau local en utilisant un dossier partagé normal au lieu de HTTP et je vais avoir un problème obtenir le crochet de mise à jour automatique pour exécuter.

Je suis entré dans ce crochet comme détaillé dans la FAQ . Cela installe le crochet, mais quand je pousse quelque chose au dépôt distant, je reçois une erreur:

added 1 changesets with 1 changes to 1 files
running hook changegroup: hg update >&2
warning: changegroup hook exited with status -1

Il est autre question stackoverflow semblable à cela, mais il ne propose aucune solution autre que ce peut être une erreur quelque part des autorisations.

Quelqu'un at-il eu ce problème et peut quelqu'un d'autre jeter plus de lumière sur ce ou me donner une tête sur l'endroit où commencer à réparer cela? Merci.

Était-ce utile?

La solution

est hg dans votre chemin de recherche standard?

Remplacez votre configuration .hgrc avec un script personnalisé, par exemple.

[hooks]
changegroup = /var/tmp/myscript.sh

[ui]
debug = true

(unix) Dans quelque chose /var/tmp/myscript.sh d'écriture comme ceci:

#!/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) Ne pas oublier de marquer comme exécutable: chmod a+x /var/tmp/myscript.sh

(fenêtres) Le fichier de commandes correspondant myscript.bat est:

@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

(fenêtres) Bien sûr, la ligne .hgrc est changegroup = \your\directory\myscript.bat.

Exécuter votre commande hg push pour reproduire le problème.

Vérifiez le contenu du fichier /tmp/myscript.log.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top