Ceci est une ancienne révision du document !


Aide sur l'utilisation de la forge UCBL

A destination des étudiants pour les TPs

Scénario d'utilisation pour un TP

Le scénario suivant est à utiliser sous Unix (Linux ou Mac OS X). Sous Windows, remplacer les commandes par leur équivalent via TortoiseHG

Mise en place

Créer un projet sur la forge:

  • Ajouter les membres du groupe de travail (i.e. le binome) <note tip>Pour être ajouté à un projet, un étudiant doit s'être connecté au moins une fois sur http://forge.univ-lyon1.fr. Le manager du projet pourra alors l'ajouter via Configuration → Membres.</note>
  • Récupérer l'URL mercurial du dépôt: onglet Configuration → Dépôt

Par la suite, on supposera que le projet a comme id p1234567-montp. L'URL pour le navigateur est donc http://forge.univ-lyon1.fr/projects/p1234567-montp et l'URL pour mercurial est https://forge.univ-lyon1.fr/hg/p1234567-montp

Clôner le dépôt pour voir une copie de travail locale (à chaque fois, le login et le mot de passe sont ceux de l'intranet lyon 1):

hg clone https://forge.univ-lyon1.fr/hg/p1234567-montp

Si l'enseignant a fourni un code de base dans un projet de la forge, récupérer le contenu de ce projet (on suppose que l'URL du projet en question est https://forge.univ-lyon1.fr/hg/une-ue-un-tp) :

cd p1234567-montp                                      # si ce n'est pas déjà fait
hg pull https://forge.univ-lyon1.fr/hg/une-ue-un-tp    # récupération en local du code
hg update                                              # se positionner sur la dernière version
hg push                                                # propagation du code vers votre projet sur la forge

Cette opération de récupération de contenu du projet n'est à faire qu'une fois par projet/tp.

Travail

Une fois le répertoire de travail mis en place, effectuer des modifications. Si de nouveaux fichiers source ont été ajoutés, il faut les déclarer via

hg add le/nom/du/fichier

<note important>Ne pas versionner les fichiers binaires (*.o, *.class, *.jar, exécutables, etc). D'une manière générale, ne pas versionner tout fichier qui serait supprimer par un clean (i.e. make clean ou mvn clean)</note> Une fois les modifications satisfaisantes il faut les valider:

hg commit -m "Un message qui explique ce qu'on a fait"

<note tip>Si mercurial se plaint de ne pas connaître l'identité du développeur, ajouter le code suivant au fichier ~/.hgrc1):

.hgrc
[ui]
username = Mon nom <mon.e.mail@mon.domaine.fr>

Ajouter également le fingerprint comme expliqué dans la FAQ de la forge

</code></note>

Il est possible de faire plusieurs cycle modifications/commit, mais pour le moment les modifications ne sont pas propagées vers la forge. Cette propagation se fait via:

hg push

. <note tip>Il est prudent de précéder un hg push par hg pull de façon à être sûr d'avoir la dernière version du dépôt. La réconciliation des changements peut nécessiter des fusions (merge). Voir http://mercurial.selenic.com/guide/ (en anglais) pour des scénarios avec fusion.</note>

1)
Créer ce fichier au besoin