Une bouffée d'air frais dans la robotique

Telecom Robotics

Tutoriaux

Nos Robots

Connexion utilisateur

Telecom Robotics / Areabot

Une bouffée d'air dans la robotique

Tutoriel Mercurial

Mercurial : un système de versionnement

Mercurial est un système de versionnement. C'est le système que nous avons choisi pour partager nos codes et schémas. Wikipedia vous propose une introduction à la gestion de versions ainsi qu'une comparaison des logiciels de gestion de versions. Pour télécharger Mercurial et accéder à la documentation, ça se passe ici. Si vous êtes sur une des machines de COMELEC, pas besoin de le télécharger, il est déjà en place.

Les différents dépôts

Les dépôts de l'année dernière sont hébergés sur https://hg.comelec.enst.fr/areabot/2007

Ceux de l'année actuelle sont sur https://hg.comelec.enst.fr/areabot/2008.

  • https://hg.comelec.enst.fr/areabot/2008/hard : pour tout ce qui est matériel (elec, méca, ...)
  • https://hg.comelec.enst.fr/areabot/2008/soft : pour tout ce qui est logiciel
  • https://hg.comelec.enst.fr/areabot/2007/admin : pour tous les docs administratifs
  • https://hg.comelec.enst.fr/areabot/2007/test : pour faire des tests, pour ceux qui ne sont pas familiers avec Mercurial :)

Tous ces dépôts sont aussi consultables sur le web, à l'adresse indiquée... Les login / mot de passe à utiliser sont ceux de votre compte Unix. A chaque accès aux dépôts, ils vous seront demandés. Si vous ne souhaitez pas avoir à les entrer à chaque fois, il suffit de modifier le fichier .hg/hgrc de chaque dépôt, et d'ajouter login:mot_de_passe@ entre https:// et hg.comelec.enst.fr. Par exemple, pour le dépôt soft, ça donne : https://login:mdp@hg.comelec.enst.fr/areabot/2008/soft. Vous pouvez aussi ne mettre que votre login (votre mot de passe sera alors demandé lors d'un accès) Attention : si vous entrez votre mot de passe en dur, il vaut mieux demander à Alexis un mot de passe spécial (différent de celui de votre compte Unix), car il va s'afficher en clair à l'écran à chaque accès au dépôt...

Remarques importantes

  • Merci de rajouter (dès maintenant, sinon vous allez oublier) ceci dans un fichier appelé ~/.hgrc (c'est .hgrc situé dans votre home dir, il sera valable pour tous vos dépôts Mercurial). [ui] username = mon_prénom mon_nom Je vous laisse remplacer par ce qu'il faut :) Grâce à cette opération, les opérations sur les dépôts seront signées automatiquement.
  • Si vous configurez mercurial sur un ordinateur de l'école, par défaut les connections HTTP(S) passent par un proxy qui gère pas HTTPS, du coup, il vaut mieux faire: unset http_proxy
  • Attention: Lorsque vous faites un hg commit, mercurial lance automatiquement l'éditeur de texte par défaut ($EDITOR) où il faut entrer la description de la modif. Donc si vous n'êtes pas sûr du contenu d'EDITOR et que vous n'êtes pas très à l'aise avec vi, nano et autres éditeurs en mode console, faites: export EDITOR=Votre editeur préferé
  • Conclusion: sur votre compte à l'école, il est consillé d'utiliser zsh (en A406, clic droit sur l'icone console en haut de l'écran, properties, et remplacer gnome-terminal par gnome-terminal -e zsh) et ajoutez ces deux lignes à la fin du fichier ~/.zshrc
    export EDITOR=gedit
    unset http_proxy

Pour commencer rapidement

Si vous avez déjà effectué les réglages décrits précédemment, vous pouvez par exemple commencer par récupérer le code relatif au soft : hg clone https://hg.comelec.enst.fr/areabot/2008/soft

Mémento rapide

Attention, ce mémento ne dispense pas de lire la documentation de Mercurial, sinon vous allez faire des bêtises...

  • hg clone https://xxxxx : importer un dépôt distant
  • hg incoming : vérifier s'il y a des nouveaux changements à récupérer
  • hg pull : importer des changements, mais ne pas les appliquer tout de suite (vous pourrez les appliquer plus tard, même si vous n'êtes plus connecté au réseau)
  • hg update : appliquer les changements récupérés
  • éventuellement hg merge : si les changements font des conflits, essaye de les appliquer en résolvant les conflits automatiquement. Si ce n'est pas possible, un éditeur de conflit s'ouvre pour résolution manuelle. Après la résolution, il faut faire un :
  • hg commit : pour enregistrer vos changements
  • hg push : pour propager vos changements vers le dépôt central
  • hg add : pour ajout d'un fichier
  • hg remove : pour supprimer un fichier
  • hg diff : pour avoir la liste de vos modifications avant de faire un commit
  • hg status : pour connaître le statut de vos fichiers (modifiés, non trackés, à jour, ...)
  • hg update -C xxx : pour revenir à la version xxx
  • hg log : pour avoir la liste de ce qui a été fait jusqu'à présent

Pour chaque commande, vous pouvez rajouter --help pour avoir une description sommaire de ce qu'elle fait.

 Autres docs

Ceux qui souhaitent approfondir leur connaissance de Mercurial peuvent se référer au livre (libre) de Brian O'Sullyvan

Vous disposez aussi des Quick Référence Cards (QuickStart et Usage)

Et sinon, vous avez aussi le Wiki de Mercurial avec la doc complète, des tutoriaux, etc etc

Nos soutiens

Images aléatoires

Untitled image Untitled image 

Événements à venir

  • pas grand chose...

Contenu populaire

Parcourir les archives

« Mai 2008  
Lu Ma Me Je Ve Sa Di
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Syndication

Syndiquer le contenu