This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
2013_2014:s2:td:tdsvn [2014/05/04 22:04] blay |
2013_2014:s2:td:tdsvn [2014/05/06 14:34] (current) dpallez [Gestion de versions : TD] |
||
---|---|---|---|
Line 2: | Line 2: | ||
<note>L'énoncé est [[https://mbf-iut.i3s.unice.fr/lib/exe/fetch.php?media=2013_2014:s2:td:basescoo_s2t_svn_2013_2014.pdf|ici]]</note> | <note>L'énoncé est [[https://mbf-iut.i3s.unice.fr/lib/exe/fetch.php?media=2013_2014:s2:td:basescoo_s2t_svn_2013_2014.pdf|ici]]</note> | ||
+ | |||
+ | <note important> Il est possible que vous ne voyiez pas les icones TortoiseSVN (visibles [[http://tortoisesvn.net/docs/nightly/TortoiseSVN_fr/tsvn-dug-wcstatus.html|ici]]). | ||
+ | Pour les voir, clic droit sur un répertoire et choisissez TortoiseSVN>Settings>Icon Overlays et dans Drive Types, cochez la case "Network Drives". | ||
+ | {{ :2013_2014:s2:td:iconoverlays.png?500 |}} | ||
+ | </note> | ||
Line 9: | Line 14: | ||
- Faîtes le TD sur une machine de l'IUT | - Faîtes le TD sur une machine de l'IUT | ||
- Pour pouvoir disposer de l'environnement SVN il vous faudra l'installer. Vous pouvez utiliser par exemple ''SourceTree''. | - Pour pouvoir disposer de l'environnement SVN il vous faudra l'installer. Vous pouvez utiliser par exemple ''SourceTree''. | ||
+ | |||
+ | <note tip>A la fin de cette séance, vous pourrez/devrez travailler tout seul dans votre propre projet personnel qui a été créé sur la forge. | ||
+ | |||
+ | Ce projet vous pouvez choisir, momentanément de le partager avec d'autres ou pas, en utilisant l'espace //configuration// de votre projet sur la forge. | ||
+ | </note> | ||
+ | |||
+ | |||
+ | <note important>Bien sûr, vous ne pourrez plus dire : | ||
+ | * j'ai perdu mes codes avec mon ordinateur, | ||
+ | * hier, cela fonctionnait mais je ne sais pas pourquoi aujourd'hui ... | ||
+ | * ... | ||
+ | **puisque évidemment vous les stockerez dans un gestionnaire de version** ! | ||
+ | </note> | ||
+ | |||
+ | ===== Commandes en ligne si besoin ===== | ||
Voici quelques commandes en ligne pour vous aider si besoin. | Voici quelques commandes en ligne pour vous aider si besoin. | ||
Line 16: | Line 36: | ||
**Question 7** | **Question 7** | ||
* **Ajout d'un fichier** : ''svn add HelloXXX.java'' | * **Ajout d'un fichier** : ''svn add HelloXXX.java'' | ||
+ | * **Destruction d'un fichier** : ''svn del HelloAll.java'' | ||
* **Sauvegarder** : ''svn commit -m "ajout du fichier HelloAllXXX"'' | * **Sauvegarder** : ''svn commit -m "ajout du fichier HelloAllXXX"'' | ||
**Question 8** | **Question 8** | ||
* **Récupérer une version passée** : ''svn update'' | * **Récupérer une version passée** : ''svn update'' | ||
- | * **Locker un fichier** : ''svn lock -m "Lock du fichier HelloAll pour tester tranquillement" HelloAll.java'' | + | * **Locker un fichier** : ''svn lock -m "Lock du fichier HelloAll pour tester tranquillement" HelloAll.java'' |
- | J'ai créé un autre répertoire pour tester les conflits | ||
- | J'ai une erreur au update, je postpone, | ||
- | je modifie à la main le fichier qui contient : | ||
- | <<<<<<< .mine | ||
- | System.out.println("Hello Mireille!!"); | ||
- | System.out.println("Guten Tag Mireille!!"); | ||
- | ======= | + | **Question 14** |
- | System.out.println("Hello Mireille!!"); | + | * **Revenir à une version antérieure** : '' svn update -r 1'' |
- | System.out.println("Ciao"); | + | * **Revenir à la version en cours** : ''svn update -r HEAD'' |
- | | + | * **visualiser les logs** : ''svn log .'' |
- | >>>>>>> .r7 | + | |
- | j'efface les fichiers de conflits | + | **Question 16** |
- | je commite | + | * **Création d'un tag ''versionPreliminaire''** : |
+ | ''svn copy https://svn-iutinfo.unice.fr/svn/users-blay/trunk https://svn-iutinfo.unice.fr/svn/users-blay/tags/versionPreliminaire -m "sauvegarde dans versionPreliminaire"'' | ||
- | Pour revenir à une version antérieure je ne fais pas un switch mais un update : | ||
- | > svn update -r 1 | ||
- | je suis revenue à la premiere version | ||
- | > svn update -r HEAD | ||
- | je retourne à la version en cours. | ||
+ | **Question 18** | ||
+ | * **Switch** : ''svn switch https://svn-iutinfo.unice.fr/svn/XXX/branches/versionDev2 . --ignore-ancestry'' | ||
- | > svn log . | + | **Question 19** |
- | Je visualise tous les logs. | + | * **Merge** : ''svn merge https://svn-iutinfo.unice.fr/svn/XXX/trunk https://svn-iutinfo.unice.fr/svn/XXX/branches/versionDev2 .'' |
- | + | ||
- | + | ||
- | >Je bascule et travaille dans mon propre répertoire... je me demande s'ils ne devraient pas faire pareil... | + | |
- | + | ||
- | + | ||
- | Je crée un tag : versionPreliminaire | + | |
- | >svn copy https://svn-iutinfo.unice.fr/svn/users-blay/trunk https://svn-iutinfo.unice.fr/svn/users-blay/tags/versionPreliminaire -m "sauvegarde dans versionPreliminaire" | + | |
- | + | ||
- | Le site distant est mis à jour... mais pas sur ma machine... | + | |
- | Je fais un update à la racine | + | |
- | >svn update | + | |
- | + | ||
- | Je crée une branche : versionDev2... pas sure que ce soit la bonne commande... | + | |
- | svn copy https://svn-iutinfo.unice.fr/svn/users-blay/branches https://svn-iutinfo.unice.fr/svn/users-blay/branches/versionDev2 -m "creation une branche versionDev2" | + | |
- | + | ||
- | svn commit -m "ajout d'un repertoire de test dans trunk" | + | |
- | Je me place dans trunk/essai | + | |
- | + | ||
- | svn switch https://svn-iutinfo.unice.fr/svn/users-blay/branches/versionDev2 . --ignore-ancestry | + | |
- | + | ||
- | Donc j'attends que le contenu de trunk bascule alors automatiquement dans la branche. | + | |
- | + | ||
- | + | ||
- | J'ai ajouté un fichier | + | |
- | je commit il apparait bien dans la branche à distance. | + | |
- | + | ||
- | A distance le trunk n'est pas modifié, par contre la branche oui. Mais sur ma machine, je suis inversée... | + | |
- | + | ||
- | http://pointbeing.net/weblog/2009/04/command-line-subversion-tutorial-part-2.html | + | |
- | + | ||
- | + | ||
- | - Je modifie depuis un WC different dans trunk (donc je ne vois pas comme dans l'autre trunk qui a ete switché...) | + | |
- | Dans celui-ci dans essai j'ai donc une version differente. SI je veux voir ce qui se fait je dois aller regarder dans la branche | + | |
- | + | ||
- | - Inversement mes modifications ne me semble pas visible de celui qui a switché... | + | |
- | + | ||
- | Je les rassemble. | + | |
- | + | ||
- | + | ||
- | svn merge https://svn-iutinfo.unice.fr/svn/users-blay/trunk https://svn-iutinfo.unice.fr/svn/users-blay/branches/versionDev2 . | + | |
- | + | ||
- | J'ai des conflits... | + | |
- | + | ||
- | svn status | + | |
- | je vois les conflits | + | |
- | + | ||
- | svn resolve --accept working HelloAllBranche.java | + | |
- | svn revert labels_fr.properties | + | |
- | + | ||
- | svn del HelloAll.java | + | |
- | svn commit -m "destruction d'un fichier" | + | |
+ | * **Visualiser le répertoire** : ''svn status'' | ||
+ | ===== Codes complémentaires pour ne pas le taper ===== | ||
**Pour la question 18 :** | **Pour la question 18 :** | ||
Line 124: | Line 87: | ||
MsgBye = Au revoir | MsgBye = Au revoir | ||
</code> | </code> | ||
+ |