Je travaille avec les référentiels Git de la manière suivante:
Je suis sur le point de passer de Git à Mercurial et j'aimerais savoir à l'avance comment je peux réaliser quelque chose comme ça.
Vous ajoutez des entrées au [paths]
section de votre clone local .hg/hgrc
fichier. Voici un exemple de section qui irait dans le .hg/hgrc
fichier:
[paths]
remote1 = http://path/to/remote1
remote2 = http://path/to/remote2
Vous pouvez ensuite utiliser des commandes comme hg Push remote1
pour envoyer des modifications à ce référentiel. Si vous voulez que le référentiel distant soit mis à jour dans le répertoire de travail, vous devez mettre un crochet changegroup
en place à cet emplacement distant qui effectue une mise à jour. Cela ressemblerait à quelque chose comme:
[hooks]
changegroup = hg update 2>&1 > /dev/null && path/to/script/restart-server.sh
Tout le monde n'est pas un grand fan de la mise à jour automatique des référentiels distants sur Push, et ce n'est certainement pas la valeur par défaut.
si vous voulez ajouter un chemin par défaut, vous devez travailler avec default
dans votre ~project/.hg/hgrc
fichier. Comme suit:
[paths]
default = https://path/to/your/repo
Bonne chance.
Vous pouvez voir plugin hg-git GitHub :
ajout de la possibilité de pousser vers et de tirer à partir d'un référentiel de serveur Git de Mercurial.
Cela signifie que vous pouvez collaborer sur des projets basés sur Git à partir de Mercurial, ou utiliser un serveur Git comme point de collaboration pour une équipe avec des développeurs utilisant à la fois Git et Mercurial.
Remarque: je n'ai pas testé cet outil avec les dernières versions de Mercurial.
Si vous êtes sous Unix et que vous avez installé Git, vous pouvez utiliser cette fonction bash pour ajouter facilement un chemin vers les télécommandes sans éditeur de texte:
add-hg-path() {
git config -f $(hg root)/.hg/hgrc --add paths.$1 $2
awk '{$1=$1}1' $(hg root)/.hg/hgrc > /tmp/hgrc.tmp
mv /tmp/hgrc.tmp $(hg root)/.hg/hgrc
}
Ensuite, invoquez-le avec:
$ add-hg-path remote1 https://path.to/remote1
Si quelqu'un souhaite créer un équivalent Powershell, j'aimerais également l'inclure. D'autres améliorations potentielles incluent la vérification des erreurs sur les paramètres et la suppression de l'appel à $(hg root)
.