Gestion de versionnage de projet

De Wiketud
Aller à : navigation, rechercher

Gérer vos projets

Afin de s'assurer de bien versionner vos projet, il existe plusieurs outils à votre disposition

Subversion (ou plus couramment SVN) est un logiciel de contrôle de version permettant de faciliter le travail collaboratif sur un projet de développement. Le serveur des étudiants (Mirage) offre depuis 2009 la possibilité aux étudiants de créer des dépôts (ou repositories). Environ une centaine de dépôts sont créés chaque année.

Afin de compléter SVN, le gestionnaire de projet Redmine est également installé et synchronisé avec les droits des utilisateurs SVN. Notez qu'il est également possible depuis fin 2011 d'utiliser Git en alternative à SVN. Ce dernier est légèrement plus compliqué à appréhender mais il est aussi plus puissant et largement utilisé sur Internet dans les communautés open source.

SVN

Obtenir un espace

Pour faire héberger un projet sur le SVN du serveur étudiant, on peut en faire la demande ici : http://www.etud.insa-toulouse.fr/modules/gerer_svn/demande.php

  • Le nom du dépôt (assez explicite, évitez "projet_c" par exemple)
  • Le contexte (Besoin d'un dépôt dans le cadre d'un projet tutoré par exemple)
  • Les logins INSA des étudiants autorisés à accéder au dépôt en précisant les droits (en lecture et écriture).
  • La durée pendant laquelle vous en avez besoin pour que les roots puissent supprimer les comptes devenus obsolètes pour faire de la place.

Accéder à l'espace

Les dépôts (repositories en anglais) se situent dans https://www.etud.insa-toulouse.fr/svn/. Vous pouvez y accéder avec un navigateur web mais vous pouvez utiliser le WebSVN ou le module disponible dans Redmine pour consulter l'histoire des versions. Pour utiliser Subversion, vous devrez obligatoirement passer par un client SVN. L'identification se fait à partir de vos identifiants INSA. Pas besoin d'être sur le VPN.

Modifier les droits d'accès

Pour modifier les droits d'accès (qui a le droit de lire/écrire sur votre SVN), il suffit de vous rendre sur https://www.etud.insa-toulouse.fr/modules/gerer_svn/gerer_droits.php Il faut ensuite sélectionner votre projet dans la barre de gauche.

Utilisation de base sous Linux

Il existe de nombreux logiciels offrant une interface graphique pour Subversion. Libre à vous de choisir celui qui vous convient. Cependant, le client Subversion de base est en ligne de commande. Nous allons voir ici les commandes de bases .

Récupérer la première fois son projet

Supposons que votre projet s'appelle projetTest . Allez dans le répertoire dans lequel vous souhaitez travailler et faites :

svn checkout https://www.etud.insa-toulouse.fr/svn/projetTest

ou

svn co https://www.etud.insa-toulouse.fr/svn/projetTest

Entrez votre Identifiant et Mot de Passe INSA.

Mettre à jour sa copie locale

Si vous travaillez à plusieurs il est important de mettre régulièrement à jour votre copie locale avec la version sur le serveur, en particulier avant de commencer des modifications :

svn update

ou

svn up

Envoyer les modifications (Commit)

Pour envoyer toutes les modifications:

svn commit

ou

svn ci

Pour envoyer juste des fichiers particulier :

svn commit fichier1 fichier2 ...

Cette commande va lancer un éditeur de texte qui vous permettra de commenter vos modifications. Tapez votre commentaire, enregistrez et quittez votre éditeur pour que votre client envoie les modification au serveur. Vous pouvez aussi ajouter un commentaire directement avec l'option -m dans la ligne de commande.

NOTE: Avant de faire un commit , il est fortement recommandé de faire un update avant pour éviter des conflits et les résoudre si besoin. (Normalement votre client doit vous en avertir)

Ajouter un fichier/répertoire à votre projet

Dans ce répertoire de base

svn add nom_du_fichier

Vous pouvez créer des sous-répertoire dans celui de base

Supprimer un fichier de votre projet

Toujours dans ce répertoire de base

svn delete nom_du_fichier

NOTE:Ce n'est pas parce que vous avez ajouté/supprimé un fichier sur votre disque qu'il va disparaître automatiquement du serveur subversion. Ces commandes sont indispensable pour signaler au serveur que la suppression est bien volontaire et non accidentelle.

Utilisation sous Windows

Un logiciel permet d'utiliser SVN sous Windows : TortoiseSVN, téléchargeable sur SourceForge. Il s'intègre au menu contextuel des dossiers (bouton droit sur un dossier) à l'installation.

De plus, si vous utilisez Eclipse et Windows 7 64 bits, téléchargez ce package : http://www.sliksvn.com/pub/Slik-Subversion-1.6.17-x64.msi

Récupérer un projet

  • Pour cela, il faut d'abord créer un dossier qui accueillera les fichiers. Ensuite,
clic droit sur le dossier\SVN Checkout...

Il faut éventuellement entrer ses identifiants INSA. La version HEAD, sélectionnée par défaut, correspond à la dernière version sauvegardée.

Mettre à jour sa copie locale

Click droit sur le dossier\Update

Attention, l'option Update est présente aussi dans tous les sous-répertoires. Mais elle ne met à jour que l'arborescence sélectionnée.

Envoyer les modifications

Click droit sur le dossier\Commit...

Une boîte de dialogue s'ouvre pour permettre à l'utilisateur de rentrer un commentaire sur la version (conseillé) ainsi que de choisir les actions à effectuer. Par défaut, seuls les fichiers modifiés seront envoyés pour la nouvelle révision. Si un fichier ou un dossier a été créé ou effacé, il faut cocher la case associée pour prendre en compte aussi ce changement.

Restaurer un fichier

Si un fichier a été modifié alors qu'il n'aurait pas dû l'être, 2 solutions pour le restaurer :

  • Supprimer le fichier puis faire un Update sur le dossier
  • Bouton droit sur le dossier\TortoiseSVN\Revert... Choisir le/les fichier(s) à restaurer puis valider

Dernier conseil

N'oubliez pas de mettre à jour régulièrement la copie locale...

Utilisation de base sous MAC OS X

Vous pouvez utiliser le terminal avec les lignes de commande (si vous utilisez Eclipse, il vous faudra télécharger le package sur le site http://www.collab.net/downloads/community/ inscription gratuite obligatoire )

Sur Mac OS X, il existe également un logiciel payant nommé Versions (http://versionsapp.com/) Voici une capture d'écran du logiciel où l'on peut voir les boutons update, commit et checkout.

Versionsmac.png

Utilisation de Git SVN

Si vous êtes un fan de Git mais que votre groupe de travail a préféré choisir SVN, il est possible d'utiliser un connecteur SVN pour Git. Cela vous permettra donc de travailler avec Git en local avec les commandes Git classiques mais vous pourrez aussi faire l'équivalent d'un svn up et d'un svn commit à l'aide d'une commande git. Les autres utilisateurs n'y verront que du feu.

Vous pouvez récupérer une copie du dépôt avec la commande git svn clone adresse_du_dépot. Puis vous pourrez utiliser les commandes git svn dcommit pour commiter et git svn rebase pour updater.

Pour plus de détails, reportez-vous à l'un d'un tutorial ci-dessous.

GIT

Git est un, si ce n'est le plus connu, logiciel de contrôle de version permettant de faciliter le travail collaboratif sur un projet de développement. Le serveur des étudiants offre la possibilité aux étudiants de créer des dépôts (ou repositories).

Apprendre Git

Il existe plusieurs tutoriels disponibles sur internet, si vous voulez apprendre avec un tutoriel un peu plus visuel ICI 

Obtenir un espace

Pour faire héberger un projet sur le GIT du serveur étudiant, on peut en faire la demande ici : http://www.etud.insa-toulouse.fr/modules/gerer_svn/demande.php

  • Le nom du dépôt (assez explicite, évitez "projet_c" par exemple)
  • Le contexte (Besoin d'un dépôt dans le cadre d'un projet tutoré par exemple)
  • Les logins INSA des étudiants autorisés à accéder au dépôt en précisant les droits (en lecture et écriture).
  • La durée pendant laquelle vous en avez besoin pour que les roots puissent supprimer les comptes devenus obsolètes pour faire de la place.

Commandes de base :

Premier push :

  • git push origin master

Pour cloner le dépôt :

Pour mettre à jour sa copie locale :

  • git pull

Pour faire un commit local :

  • git commit -a

Pour envoyer sur le serveur ses modifications :

  • git push

Pour créer une nouvelle branche locale :

  • git checkout -b nom_branche

Pour changer de branche :

  • git checkout nom_branche

Pour récupérer une branche distance :

  • git checkout -b local-name origin/remote-name

Astuces

Pour éviter de devoir taper son mot de passe à chaque fois, il suffit de créer un fichier .netrc dans votre home avec à l'intérieur :

machine etud.insa-toulouse.fr
login <username>
password <password>

Et pour des questions de sécurité, il faut supprimer les droits de lecture sur ce fichier :

  • chmod 600 .netrc


Voir aussi