8
votes

Puis-je déplacer mon répertoire de travail mercuriel vers un autre endroit?

Je suis nouveau au contrôle de la mercuriale et de la version en général, alors je suis sûr que c'est une question assez fondamentale, mais je n'ai pas encore été incapable de trouver la réponse.

Je travaille sur un petit projet qui est sous contrôle de version mercuriale. Le projet et le référentiel .hg sont actuellement sur mon lecteur local (C: \ myProject.hg), mais je voudrais déplacer tout le lot vers un autre endroit (dans ce cas un lecteur réseau) qui est sauvegardé tous les soirs. Je voudrais que ce nouvel emplacement devienne mon répertoire de travail.

Ma question est, puis-je simplement copier le répertoire MyProject (et donc le référentiel .HG) vers le nouvel emplacement et que tout fonctionne comme il l'a fait sur mon lecteur local? Ou est-ce que c'était via des commandes mercuriales (par exemple, clone) de sorte que Mercurial sait que le changement d'emplacement?


0 commentaires

3 Réponses :


10
votes

Vous pouvez effectuer une copie normale du dossier, mais si vous envisagez de continuer à utiliser votre version locale, vous devez effectuer la copie avec le clone hg , afin que vous puissiez faire un hg Tirez ou HG Push pour synchroniser les versions. Vous pouvez toujours pousser et tirer si vous n'utilisez pas HG clone mais cela le rend un peu plus facile.


0 commentaires

4
votes

vous peut déplacez complètement votre version locale sur un lecteur réseau et faites que votre nouvelle version «locale». Vous faites pas doit laisser Mercurial savoir que son répertoire parent (projet) est en cours de déplacement.

Comme une autre réponse mentionnée cependant, il se peut que votre avantage de conserver votre projet localement et de créer un autre référentiel sur le lecteur réseau (un qui n'a pas de répertoire de travail) en clonant celui de votre machine locale à la Drive en réseau. De cette façon, vous pouvez conserver votre propre référentiel localement et ne pas avoir à modifier quoi que ce soit, tout en accédant à la sauvegarde de votre référentiel sur le lecteur réseau. Vous pouvez configurer un travail de cron nocturne sur votre machine (poussoir) ou sur la machine réseau (tirez) de manière à rester en synchronisation.


0 commentaires

3
votes

L'option la plus simple consiste simplement à déplacer ce dossier sur votre lecteur réseau. Sur votre répertoire de travail cloné, mettez simplement à jour les chemins trouvés dans le fichier .hg / hgrc (situé dans le fichier .hg / dossier si cela n'était pas clair. Dans votre repo cloné, vous verrez un chemin par défaut comme celui-ci ...

[paths]
default = c:\MyProject
Bitbucket = https://user@bitbucket.org/MyProject


3 commentaires

Merci pour toutes vos réponses. C'est comme je soupçonnais que je pouvais simplement copier le répertoire. En outre, je n'étais pas au courant de la nécessité de mettre à jour le chemin par défaut afin de remercier Andy9D!


Mise à jour: Je viens de rechercher le fichier .hg / hgrc dans le dossier .hg et je ne semble pas l'avoir. Y a-t-il d'autres emplacements que ce fichier pourrait être stocké?


Si le fichier n'est pas là, créez-le. Lorsque vous clonez un référentiel, il est créé pour vous et le chemin par défaut ajouté, mais il n'existera pas par défaut sur un nouveau repo. De plus, +1 pour mentionner l'élément Chemins dans le fichier HGRC ... J'utilise souvent cela pour définir une nouvelle destination push.