Mercurial : faire des modifications distantes et avoir les fichiers mis à jour sur le serveur
Par eric le mardi, avril 22 2008, 17:49 - InformatiqueEtGeekeries - Lien permanent
Aujourd'hui, j'ai découvert quelque chose d'étrange en utilisant Mercurial.
J'ai donc un dépôt privé accessible via https (cf ce post), je le clone, je fais des modifications, je committe, puis je push sur le serveur
$ hg clone https://code.veiras.info/private_repo $ vi... $ hg commit -m "nouvelles modifs" $ hg push http authorization required realm: code.veiras.info Mercurial repository user: X password: X searching for changes adding changesets adding manifests adding file changes added 1 changesets with 3 changes to 3 files
Jusque là tout va bien, c'est la façon normale de travailler et j'ai toujours fait comme ça. Sauf qu'aujourd'hui, j'étais également connecté sur mon serveur en ssh, je vais donc dans mon dépôt, un hg tip me dit bien que je viens de faire un commit, mais par contre quand je veux regarder mes fichiers... mes modifications n'y sont pas et là, je tombe des nues : qu'ai-je donc fait mal ? Encore une histoire de permissions sur les fichiers ?
<mode panique>ÇA VEUT DIRE QUE TOUT CE QUE J'AI COMMITTÉ DEPUIS TOUT CE TEMPS EST PERDU ???!!!</mode panique>
vite fait, je saute sur mon client IRC préféré[1] et rebondit sur #mercurial (sur freenode) où l'on me rassure (?) en me disant que tout est normal.
Pour résumer :
- si je veux avoir les modifs également sur les fichiers en local sur le serveur, il faut que je fasse un
hg updatesur le serveur; - si je veux automatiser cet update, il faut utiliser un 'hook' : plus d'informations sur le site officiel ou sur le guide non officiel;
- si on utilise pas sur le serveur le dépôt, on peut même effacer tout les fichiers à l'exception du répertoire .hg/, celui-ci contenant justement tout l'historique du dépôt.
- si on veut effacer ces fichiers, un
rm *pouvant poser des problèmes plus tard, il est préférable d'utiliserhg update nullqui permet de revenir à la révision 0 - si jamais on a à nouveau besoin de ces fichiers sur le serveur, un
hg updatefera l'affaire.
Notes
[1] j'en profite pour signaler l'existence de mibbit.com très pratique quand on est coincé derrière un proxy et qu'on a besoin d'aide...