Subversion et son utilisation
Un article de LodelWiki.
Explication concernant le fonctionnement du dépôt Subversion de Lodel.
Attention! Cette page est en cours d'élaboration.
Sommaire |
[modifier] Utilisation anonyme (lecture seule)
Le dépôt est accessible en lecture pour les utilisateurs anonymes. Il faut disposer d'un client subversion. Les exemples ci-dessous s'appliquent à "svn", pour l'installer sous Debian : apt-get install subversion. Sur Ubuntu installez le paquet subversion.
[modifier] La première fois
- Récupérer les fichiers
svn checkout http://subversion.cru.fr/lodel/trunk dossier_local
Où "dossier_local" désigne le répertoire dans lequel vous voulez télécharger le contenu du dépôt.
- Créer les liens nécessaires au fonctionnement de Lodel
cd dossier_local ln -s share share-0.8 ln -s lodel lodel-0.8 ln -s lodeladmin lodeladmin-0.8
Où "dossier_local" désigne le répertoire dans lequel vous avez effectué le checkout.
[modifier] Au quotidien
- Mettre à jour les fichiers : se placer à la racine du projet (ou du répertoire à mettre à jour), puis :
svn update
[modifier] Utilisation pour développeurs
[modifier] La première fois
1. Récupérer son identifiant
http://sourcesup.cru.fr/scm/?group_id=193
2. Configurer l'éditeur de texte à utiliser lors des commits
Si le bac à sable est sur R5, il n'y a rien à faire.
Sinon :
- Récupérer le script suivant et le rendre exécutable : Script pour le template de commit - svn Lodel
- Rajouter dans le .bashrc, ou le .profile de l'utilisateur :
export SVN_EDITOR=/oh/le/beau/script.sh
3. Créer un bac à sable
Pour être sûr de commiter au bon endroit, il suffit de garder dans les bacs à sable les noms des répertoires utilisés dans le dépôt (trunk, branches). Pour cela, faire un checkout sans spécifier de répertoire local.
- Pour la version en cours de développement :
cd ~/public_html svn checkout https://subversion.cru.fr/lodel/trunk Abrégé : co
- Pour une version (branche) antérieure :
cd ~/public_html svn co https://subversion.cru.fr/lodel/branches/mabranche
[modifier] Au quotidien
Mettre à jour son bac à sable
- En entier : se placer à la racine, puis :
svn update Abrégé : up
- Un répertoire ou un fichier :
svn up <mon_fichier>
Obtenir de l'aide
svn -h <commande_svn>
Ajouter/supprimer/déplacer des fichiers
svn add <mon_fichier> svn rm <mon_fichier> svn mv <mon_fichier> <ailleurs>
Ne pas oublier de commiter ensuite
Voir les modifications locales
svn status
Annulation des modifications locales
svn revert <mon_fichier>
Consulter l'historique d'un fichier
svn log <mon_fichier>
Commiter
svn commit <mes_fichiers> Abrégé : ci
Lors de commit, il est très important de respecter le formulaire de saisie :
Type:ttt<retourchariot> Descr:ddd
- ttt peut être :
- F pour l'ajout de fonctionnalité
- BM pour la correction de bug majeur
- Bm pour la correction de bug mineur
- S pour la correction de faille de sécurité
- O pour optimisation du code php ou lodelscript
- A autres (ce type regroupant les modifications peu importantes qui ne sont pas des bugs : ajout d'image, suppression de fichiers
- ddd peut être n'importe quelle phrase non nulle
[modifier] Fonctionnement
[modifier] Numéros de version
Ils ont la forme x.y.z.
- x est le numéro de version majeure : il est incrementé lorsque de grosses modifications ont été apportées, et qui cassent la compatibilité avec la version majeure précédente x-1, nécessitant donc de grosses modifications dans les projets pour la migration.
- y est le numéro de version mineure : il est incrémenté quand il y a de nouvelles fonctionnalités, évolutions, corrections de bugs etc. Par contre un projet basé sur une version lodel x.y devrait être compatible avec une version lodel x.y-1, ce qui n'est actuellement pas le cas (pour la 0.8).
- z est le numéro de version de correction : il change quand il y a eu simplement des corrections de bugs par rapport à la version x.y.z-1.
Nota Bene : le numéro x est pour le moment à 0 car les critères permettant de dire que Lodel est stable et que la compatibilité entre version existe ne sont pas remplis.
[modifier] Création des branches et des tags
Le dépôt contient les 3 répertoires suivants : trunk, branches, tags.
Les principaux développements, relatifs à la version instable, se font dans le répertoire trunk.
Les développements relatifs à une release antérieure se font dans une branche spécifique à la release en question, et donc dans l'un des répertoires branches/version_xxxx-bugfixes-branch.
N.B. : aucun développement ne doit être effectué dans le répertoire tags.
Cette organisation permet de :
- pouvoir sortir des versions correctives de versions antérieures tout en continuant à travailler sur la version en cours ;
- avoir un tronc correspondant toujours à la dernière version de Lodel, la version dite 'unstable' ;
- avoir une succession de versions dites stables marquées par des tags et des branches contenant leur(s) correctif(s).
En pratique :
- À chaque sortie d'une release, il faut créer un nouveau tag, de la forme version_x_y
svn cp https://subversion.cru.fr/lodel/trunk https://subversion.cru.fr/lodel/tags/version_x_y
- Lorsque la release est sortie, il faut créer une branche nommée version_x_y-bugfixes-branch. Elle est destinée à recevoir les corrections de bugs rapportés au fur et à mesure sur cette version.
svn copy https://subversion.cru.fr/lodel/trunk https://subversion.cru.fr/lodel/branches/version_x_y-bugfixes-branch
[modifier] Liens
- Notre dépôt
- Paramètres d'accès : http://sourcesup.cru.fr/scm/?group_id=193
- Viewcvs : http://sourcesup.cru.fr/cgi/viewcvs.cgi/?cvsroot=lodel
- Documentations
- Documentation officielle [en] : http://svnbook.red-bean.com
- La FAQ du CRU :http://www.cru.fr/wiki/faq/sourcesup/gestion_src

