La Bnbox !

Créateur de sourires...

Mon compte

S'inscrire

Recherche

Vous êtes ici : Accueil » Atelier Webmaster » Tutoriel SVN » Comment gérer SVN de manière simple

Atelier Webmaster



Sommaire du cours

Tutoriel SVN : Comment gérer SVN de manière simple


Prendre les fichiers du dépôt


Avant de faire n'importe quelle commande, il faut prendre la version courante du projet qui est stockée sur le serveur via SVN :
Code :
svn checkout svn://adresse_du_svn.fr

Cette commande va chercher tous les fichiers à l'adresse adresse_du_svn.fr (que vous avez préalablement remplacé par votre propre url) et les placent dans le dossier courant de votre poste de travail (d'où l'utilité de créer un dossier de travail : tous les fichiers seront dans ce dossier) et seront « sous contrôle SVN ».
Comment ça, qu'est-ce que ça veut dire ? Attendez, laissez moi le temps de m'expliquer un peu ! Lisez un peu plus...
SVN a donc maintenant téléchargé (ça reste légal hein !)  les fichiers du serveur en local et en même temps, il a indexé les fichiers qu'il a téléchargé. C'est à dire que SVN se souvient des fichiers présents sur le serveur (et heureusement !) et que vous ne devez (surtout) pas les déplacer via vos explorateurs de fichiers ou via les commandes cp et mv. On verra comment les déplacer dans les sections un peu plus loin.
       
Mais attention ! Ne faites ça qu'une fois ! Pour la suite, vous n'aurez pas à refaire cette manip', il vous suffira de vous placer dans votre dossier de travail et de taper cette commande :
Code :
svn update // met à jour la version locale en se basant sur la dernière version du serveur

Si tout se passe bien (c'est à dire si vous n'avez pas modifier localement les fichiers qui ont changé sur le serveur), vous aurez mis à jour les fichiers sur votre ordi.
Pour remettre à jour vos fichiers (et vous feriez mieux de le faire souvent), vous taperez dorénavant cette commande.

Mettre à jour un fichier


Vous pouvez maintenant jouer avec vos fichiers sur votre machine. Une fois qu'un fichier quelconque que nous appellerons « fichier_x » a été modifié, vous voudrez sans doute que le reste de votre groupe de travail puisse voir son excellence. Pour cela, vous allez utiliser la commande :
Code :
svn commit [fichier_x] -m "Raison du commit" // si fichier_x n'est pas présent, alors tous les fichiers qui ont été modifiés vont être mis sur le serveur

Et ce fichier sera mis à jour sur le serveur (à supposer que ce dit fichier n'ait pas été modifié par quelqu'un d'autre, mais ça, on le verra dans le chapitre 2). La commande suivante met à jour tous les fichiers modifiés par vos soins :
Code :
svn commit -m "Raison du commit"

Vous l'avez deviné, la chaine "Raison du commit" est à remplacer par la raison qui vous a poussé à modifier fichier_x ou les autres fichiers.

Si vous avez fait la commande présentée en introduction avec l'export de SVN_EDITOR, ou si vous aviez déjà un programme associé à SVN_EDITOR, l'option -m \"Raison du commit\" est superflue et vim va s'ouvrir. Pour l'utilisation de vim, je vous laisse vous débrouiller, il y a une foultitude d'aide sur internet.


À partir de maintenant, je vais considérer que la variable d'environnement SVN_EDITOR est correctement configurée, je ne mettrai donc plus -m \"Raison du commit\" qui flood plus qu'autre chose.

Ajouter un fichier


Si vous avez bien suivi, et je suis sur que vous avez bien lu tout ce que j'ai écrit avant, vous ne savez pas encore rajouter un fichier (reprenons fichier_x !) sur le serveur géré par SVN. Qu'à celà ne tienne, il suffit d'enchaîner deux commandes pour le faire :
Code :
svn add fichier_x // dit à svn d'indexer fichier_x sur le dépôt local
svn commit fichier_x // exporte le fichier sur le serveur

Et voilà, vous savez comment gérer les versions de fichier avec SVN mini_bn

Déplacer, renommer, créer des fichiers/dossiers


Maintenant que vous savez mettre à jour un fichier, il serait bon que vous sachiez aussi comment organiser un minimum votre dépôt en le fragmentant en différents dossiers, puis à bouger tel ou tel fichier dans tel ou tel dossier.
Pour celà, comme svn indexe les différents fichiers et dossiers (et que vous ne devez surtout pas toucher à ces derniers via un explorateur de fichiers ou via les commandes cp et mv), vous devez les déplacer, renommer ou créer via svn pour qu'il puisse ré-indexer ces fichiers/dossiers.
SVN met à votre disposition les commandes suivantes :
Code :
svn mkdir toto // créé un dossier nommé toto dans le répertoire courant
svn mv fichier dest // déplace fichier vers le répertoire dest

La dernière ligne de commande renomme fichier si dest n'est pas un nom de répertoire, mais un autre nom de fichier (ou un répertoire qui n'existe pas). C'est aussi pourquoi il faut faire attention puisque si le nouveau nom de fichier est un fichier existant déjà, ce dernier sera remplacé, sans récupération possible en local.
Lorsque je parle ici de fichier, vous pouvez aussi déplacer/renommer un dossier de la même manière. Il y a de plus une autre manière de renommer un fichier :
Code :
svn rename lulu albert // renomme lulu en albert (le changement de sexe, tout ça...)



À partir d'ici, les commandes s'utilisent plus rarement, soit parce que le cas d'utilisation de la commande est plus rare, soit parce qu'il existe d'autres moyens de faire la commande, des moyens que vous utilisiez avant.

Déconnexion pendant le traitement d'une commande ?


Et oui, ça peut arriver ! La situation : Vous faites un svn update, mais comme toute connexion à internet a ses défauts, paf ! Votre connexion plante, ou votre frangin(e) joue trop à WoW et a bouffé toute la bande passante, ce qui a entrainé un minicrash de SVN.
Heureusement, SVN a une commande pour tout réparer (parce que oui, quand une synchronisation est en cours et que le serveur et votre ordi ne se synchronisent pas complètement, c'est bel et bien cassé) :
Code :
svn cleanup

Elle est bien sûr à effectuer lorsque vous avez repris votre connexion. Si par malheur votre commande n'arrive toujours pas à son terme, il vous ait toujours possible de refaire cette commande et ce autant de fois que vous voulez ! (Ou bien vous changez de connexion, ou encore vous tuer votre frangin(e)).

Voir l'historique


Et oui, ça peut être utile pour voir qui a fait quoi à quel moment, qui a fait de la *bip*, qui a super bien fait de faire ça.
Code :
svn log [fichier_x] // avec fichier_x, seulement l'historique de fichier_x est affiché, et sans, tout l'historique est affiché

Et là, vous avez plein de lignes qui s'affichent, c'est la folie, vous avez la flemme de les lire... Mais non ! On va les regarder ensemble ces lignes. Tout d'abord, vous remarquez que c'est souvent le même type de ligne qui apparait.
Comment ça non ? M'enfin regardez, des tirets - qui reviennent en bande ! Ceux-ci servent à délimiter les versions de mise à jour. En effet, pour chaque commit qu'un utilisateur fait, la version courante (la première étant r1 pour révision 1) est incrémentée de 1 (on obtient donc r2, r3, ...).

Tiens, j'en vois un lever la main ! Oui, t'as l'oeil toi, ce sont les « numéros » qui sont affichés au début d'une ligne, celle qui suit immédiatement une ligne pleine de tirets -. Restons sur cette ligne, il n'y a quand même pas que ça d'intéressant dessus. Les | servent à séparer les différentes informations de la ligne. On remarque que la ligne commence par le « numéro » de version, puis il y a le nom d'utilisateur qui a fait le commit, ensuite vient la date du commit et enfin on a le nombre de lignes de commentaire laissé par l'utilisateur en question.
Et oui monsieur oeil-de-lynx, c'est bien le commentaire en question qui vient dans la prochaine ligne !

Bien, vous savez maintenant lire les logs (ou historique) de SVN.

Voir un fichier/dossier via SVN


Pour finir ce chapitre, il reste une commande qui n'est pas forcément utile, mais dont vous pourriez avoir besoin un jour :
Code :
svn cat fichier_x // affiche le contenu du fichier nommé fichier_x
svn ls dossier_x // affiche la liste des fichiers du dossier nommé dossier_x


svn cat fichier_x | less permet de mettre la sortie de la commande SVN dans less, très utile lorsque le fichier est long.


Ailleurs sur la Bnbox

Ailleurs sur la Toile

Mini-tchat

?

Moi s'exclame : Nb k Hier, 23h12 via Résumé scène par scène - Le...

yuiooyo tergiverse : Jouon ensemble Le 17 décembre, 21h19 via Résumé scène par scène - Le...

7ku554mk griffonne : <a href="http://www.4rj7znph.com/nike-shox-turbo-21-rosa-rosso-scarpee">nike shox turbo 21 rosa rosso</a> <a href="http://www.96mhjpfw.com/air-max-97-og-argento-scarpe-da-ginnastica-kurpesa">air max 97 og argento scarpe da ginnastica</a> <a href="http://www.0uylf89z.com/air-jordan-6-infrar%C3%B8d-23-hvid-kurpesc">air jordan 6 infrar?d 23 hvid</a> <a href="http://www.99exyoex.com/air-jordan-retro-4-royal-blau-silber-obuva">air jordan retro 4 royal blau silber</a> <a href="http://www.gns236sp.com/air-jordan-1-retro-ko-high-og-sport-blau-kaufen-schuhef">air jordan 1 retro ko high og sport blau kaufen</a> <a href="http://www.775mqska.com/nike-wmns-air-max-thea-marina-militare-atomic-rosa-chaussuresg">nike wmns air max thea marina militare atomic rosa</a>
7ku554mk
Le 17 décembre, 11h06

Carla Cristina s'exclame : Qui pue Le 17 décembre, 10h28 via Résumé - Les Fourberies De ...

Carla Cristina chuchote : Je suis une crotte de nez Le 17 décembre, 10h26 via Résumé - Les Fourberies De ...

Carla déclame : Je suis une crotte de nez Le 17 décembre, 10h26 via Résumé - Les Fourberies De ...

Tom déclare : Ça va Le 17 décembre, 10h25 via Résumé - Les Fourberies De ...

Carla proclame : Caca Le 17 décembre, 10h22 via Résumé - Les Fourberies De ...

Moi écrit : Génial ? Le 17 décembre, 10h21 via Résumé - Les Fourberies De ...

yi déclare : Ipmuo Le 16 décembre, 17h45 via Résumé scène par scène - Le...

Moi déclare : Gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg Le 16 décembre, 15h23 via Résumé scène par scène - Le...

Moi chuchote : Bvvgvv Le 16 décembre, 15h22 via Résumé scène par scène - Le...

Moi tergiverse : Bbcgd Le 16 décembre, 15h22 via Résumé scène par scène - Le...

)à)ào$ bafouille : Jiojiij Le 16 décembre, 13h22 via Résumé scène par scène - Le...

7x8rq331 proclame : <a href="http://www.4rj7znph.com/femmes-nike-blazer-vert-violet-kurpese">femmes nike blazer vert violet</a> <a href="http://www.96mhjpfw.com/le-coq-sportif-kvinders-sko-sort-orange-kurpesa">le coq sportif kvinders sko sort orange</a> <a href="http://www.0uylf89z.com/air-jordan-4-sort-and-lyser%C3%B8d-chaussuresb">air jordan 4 sort and lyser?d</a> <a href="http://www.99exyoex.com/nike-internationalist-glacier-blau-xanax-obuve">nike internationalist glacier blau xanax</a> <a href="http://www.gns236sp.com/nike-air-force-1-low-tech-tuff-schwarz-schwarz-chaussuresa">nike air force 1 low tech tuff schwarz schwarz</a> <a href="http://www.775mqska.com/adidas-gazelle-boost-marr%C3%B3n-plata-butya">adidas gazelle boost marr?n plata</a>
7x8rq331
Le 16 décembre, 9h20

atuil dit : Zzeee Le 15 décembre, 21h47 via Résumé scène par scène - Le...

? ??????????????? gribouille : Ugvygvygvyu Le 14 décembre, 15h11

? ??????????????? chuchote : F Le 14 décembre, 15h11

? ??????????????? tergiverse : F Le 14 décembre, 15h11

? déclare : Salut Le 14 décembre, 15h11

Lol murmure : Salut chien Le 14 décembre, 15h10

Chien gribouille : Salut lol Le 14 décembre, 15h10

Lol s'exclame : Bjr Le 14 décembre, 15h10

Bjr gribouille : Bjr et merci ?? Le 03 décembre, 7h49 via Résumé scène par scène - Le...

amel proclame : Bonjour* Le 02 décembre, 13h42 via Résumé scène par scène - Le...

amel scribouille : Boujour Le 02 décembre, 13h41 via Résumé scène par scène - Le...

JADOU scribouille : FGRD Le 02 décembre, 12h17 via Résumé - Le Médecin Malgrè ...

JADOU griffonne : FG Le 02 décembre, 12h17 via Résumé - Le Médecin Malgrè ...

JADOU bafouille : LOVE Le 02 décembre, 12h17 via Résumé - Le Médecin Malgrè ...

JADOU tergiverse : FEA Le 02 décembre, 12h17 via Résumé - Le Médecin Malgrè ...

JADOU écrit : Oiii guk,l;  ; yghbioklllllllllllllllllllllllllllllllllldsffffeyh Le 02 décembre, 12h17 via Résumé - Le Médecin Malgrè ...

Bjr bafouille : Bjr Le 29 novembre, 7h47 via Résumé scène par scène - Le...

7x8rq331 déclare : <a href="http://www.lahjeh.com/plata-blanco-nike-air-max-plus-zapatosw">plata blanco nike air max plus</a> <a href="http://www.mcrocks.net/air-jordan-12-retro-zapatoss">air jordan 12 retro</a> <a href="http://www.moombaki.net/order-new-balance-shoes-online-uk-zapatoss">order new balance shoes online uk</a> <a href="http://www.oyunkafesi.com/football-shoes-for-kids-zapatosr">football shoes for kids</a> <a href="http://www.avoqyd09.com/nike-air-max-93-monochrome-black-zapatosw">nike air max 93 monochrome black</a> <a href="http://www.cumcumshot.com/pink-and-gold-womens-nikes-zapatosr">pink and gold womens nikes</a>
<a href="http://www.7x8rq331.com/" >7x8rq331</a> 7x8rq331
Le 29 novembre, 4h05

binane chuchote : 3+4=7 Le 28 novembre, 15h59 via Résumé scène par scène - Le...

martinus008 bafouille : Hgg Le 25 novembre, 19h48 via Ah les p'tits potes

yutuik dit : Yo! Le 22 novembre, 17h52 via Fiches sur les personnages ...

opopopopopop murmure : Hello Le 10 novembre, 19h49 via Utiliser des liens chronolo...

658392 déclare : =7 Le 07 novembre, 17h23 via Résumé scène par scène - Le...

Pseudo gribouille : mini_bn Le 30 octobre, 18h18 via Comment fonctionne le mini-...

Pseudo griffonne : 1+1=11 Le 30 octobre, 18h18 via Comment fonctionne le mini-...

Pseudo déclame : 3+4=7 Le 30 octobre, 18h16 via Comment fonctionne le mini-...

sundergirl tergiverse : Les résumés sont un peut cours a m ont avis ! Le 25 octobre, 14h38 via Résumé : L'Avare

bonjour s'exclame : Je bafouille 3+4=7 Le 19 octobre, 18h56 via Résumé scène par scène - Le...

bonjour murmure : Peuple je sus en Stream a partir de 18 heures fortnite epicgames !!!!!! Le 19 octobre, 18h53 via Résumé scène par scène - Le...

omg bafouille : L or Le 19 octobre, 15h58 via Accueil

omg tergiverse : L or Le 19 octobre, 15h58 via Accueil

omg déclare : Omg Le 19 octobre, 15h58 via Accueil

cc s'exclame : Cc Le 16 octobre, 21h31 via Mais qu'est ce qu'un ROC en...

7 murmure : Code noir nul c nul Le 15 octobre, 12h28 via Le Code Noir

lol déclare : Nul Le 15 octobre, 12h26 via Le Code Noir

Publicité



©Bnbox (Infos) - Cahier de l'élèves - Atelier webmaster - Boîte à Nuts - Bar à Nougat - Plus ou moins valide XHTML 1.0, CSS 2, RSS 2.0
Flux RSS