= Premiers pas sur svn avec INCA = * [wiki:InstSvnInca#Clefssh Créer une clef ssh] * [wiki:InstSvnInca#Portagedumodelesursvn Portage du modÚle sur SVN] * [wiki:InstSvnInca#creerlesrepertoiresbranchestagsettrunk creer les repertoires branches tags et trunk] * [wiki:InstSvnInca#Importerunenouvellearchitecture Importer une nouvelle architecture] * [wiki:InstSvnInca#Faireuncommit Faire un commit] * [wiki:InstSvnInca#Connaitrelesstatusdevotreversion Connaitre les status de votre version] * [wiki:InstSvnInca#Ajouterunrepertoireouunfichier Ajouter un repertoire ou un fichier] * [wiki:InstSvnInca#Faireunupdatesurunfichierouunrépertoire Faire un update sur un fichier ou un répertoire] * [wiki:InstSvnInca#AjouterunIdenentetedesfichers Ajouter un Id en entete des fichers] * [wiki:InstSvnInca#Effaceruntagouunebranche Effacer un tag ou une branche] * [wiki:InstSvnInca#Ajouteruntagouunebranche Ajouter un tag ou une branche] * [wiki:InstSvnInca#Recupererinca3sanspasserparmodipsl Recuperer inca3 sans passer par modipsl] * [wiki:InstSvnInca#Faireuncommitsurlaconfigenpartantdemodipsl Faire un commit sur la config en partant de modipsl] == Clef ssh == Voir le ticket n°1 http://forge.ipsl.jussieu.fr/inca/ticket/1 [[BR]] [[BR]] == Portage du modele sur svn == === creer les repertoires branches tags et trunk === {{{ ssh -X inca@forge.ipsl.jussieu.fr (+ passwd) svn mkdir file:///ipsl/forge/projets/inca/svn/trunk file:///ipsl/forge/projets/inca/svn/branches file:///ipsl/forge/projets/inca/svn/tags -m "INCA : trunk branches and tags directories creation" }}} === Importer une nouvelle architecture === Mise en place sous svn de la configuration LMDZINCA parallÚle. Commande à passer pour ajouter une configuration : !!! attention se placer au dessus du répertoire que l'on veut ajouter {{{ svn import LMDZINCA_v2 svn+ssh://yourlogin@forge.ipsl.jussieu.fr/ipsl/forge/projets/igcmg/svn/CONFIG/trunk/LMDZINCA_v2 }}} [[BR]] [[BR]] == Faire un commit == {{{ svn commit -m "message" namefile }}} Attention : vérifiez bien que vous travaillez en tant qu'administrateur et non pas comme utilisateur. [[BR]] [[BR]] == Connaitre les status de votre version == {{{ svn status [file] }}} permet de savoir si votre fichier a été modifier par rapport à l'archive svn {{{ svn log [file] }}} indique toutes les révisions liées à ce fichier [[BR]] [[BR]] == Ajouter un repertoire ou un fichier == {{{ svn add newfile svn commit -m "message" newfile }}} [[BR]] [[BR]] == Faire un update sur un fichier ou un répertoire == {{{ svn update [file or repertory] }}} Exemple {{{ $ svn update toto U toto }}} La commande '''svn update''' retourne une lettre (U, A, D, R, G ou C) plus le nom du fichier touché. Nous allons voir la signification de ces différentes lettres. {{{ U : le fichier a bien été mis à jour, il n'y a aucun conflit. A : le fichier a été ajouté à votre répertoire, c'est donc qu'il n'existait pas avant. D : le fichier a été effacé de votre répertoire. R : le fichier a été remplacé dans votre répertoire. G : vous aviez fait des modifications dans le fichier d'origine mais ces modifications n'entre pas en conflit avec la mise à jour. C : il y a des conflits entre la mise à jour et vos propres modifications. Il faut donc ouvrir le fichier pour les régler manuellement. }}} [[BR]] [[BR]] == Ajouter un Id en entete des fichers == Rajouter en haut de chaque ficher la ligne suivante {{{ ! $Id$ ou (suivant la syntaxe) # $Id$ }}} Puis passer les lignes de commande suivantes : {{{ svn propset svn:keywords "Id" *.f90 svn commit *.f90 }}} [[BR]] [[BR]] == Effacer un tag ou une branche == {{{ Exemple avec le tag v2_1_1 de modipsl dans le projet igcmg svn rm svn+ssh://yourlogin@forge.ipsl.jussieu.fr/ipsl/forge/projets/igcmg/svn/modipsl/tags/v2_1_1 }}} [[BR]] [[BR]] == Ajouter un tag ou une branche == {{{ Exemple avec pour créer le tag v2_1_1 à partir du tronc de modipsl : svn cp \ svn+ssh:/yourlogin@forge.ipsl.jussieu.fr/ipsl/forge/projets/igcmg/svn/modipsl/trunk \ svn+ssh://yourlogin@forge.ipsl.jussieu.fr/ipsl/forge/projets/igcmg/svn/modipsl/tags/v2_1_1 }}} [[BR]] [[BR]] == Recuperer inca3 sans passer par modipsl == {{{ pour un administrateur : svn co svn+ssh://yourlogin@forge.ipsl.jussieu.fr/ipsl/forge/projets/inca/svn/trunk/INCA3 }}} [[BR]] [[BR]] == Faire un commit sur la config en partant de modipsl == Attention il faut avoir récupéré modipsl en administrateur '''ET''' la config LMDZINCA_v2 en administrateur également. Pour cela modifier mod.def en ajoutant la ligne {{{ #-S- 9 svn svn+ssh://yourlogin@forge.ipsl.jussieu.fr/ipsl/forge/projets/igcmg/svn }}} puis modifier l'appel pour la config voulue {{{ #-C- LMDZINCA_v2 LMDZ4 V3_test 3 . modeles #-C- LMDZINCA_v2 libIGCM ? 1 . . #-C- LMDZINCA_v2 CONFIG/trunk/LMDZINCA_v2 ? 8 LMDZINCA_v2 config #- devient #-C- LMDZINCA_v2 LMDZ4 V3_test 3 . modeles #-C- LMDZINCA_v2 libIGCM ? 1 . . #-C- LMDZINCA_v2 CONFIG/trunk/LMDZINCA_v2 ? 9 LMDZINCA_v2 config #- }}}