Home

Subversion pour LATEX

image

Contents

1. 13 8 10 R soudre les conflits de la copie de travail apr s une mise jour 15 8 11 Cr ation d une release d un document 15 9 Gestion des utilisateurs 16 10 Gestion de droits des groupes et projets 18 10 1 Configuration de sumserve conf o ss 4 44 eases bas saute aa sas 18 10 2 Configuration de authzj 41 4h44 a4baumamumte nette ums 8 11 Ce que cet article ne traite pas 19 12 Conclusion 19 1 Introduction Comme je d sire travailler chez moi et l universit sur mes documents il faut que je puisse les mettre jour d un cot et de l autre d une mani re simple et rapide Je dois aussi tenir compte de l infrastructure r seau mise en place l universit et notamment de la politique de s curit qui impose un minimum de ports ouverts vers l ext rieur sur les machines clientes Ainsi dans mon bureau universit ma machine de travail ne poss de aucun acc s depuis l ext rieur elle fait fonctionner nombres de services qui sont autant d attaques potentielles par contre une autre petite machine poss de uniquement un acc s SSH port 22 depuis l ext rieur Ceci me permet de me connecter sur ma machine de bureau depuis chez moi Le sch ma suivant r sume bien la situation au niveau du r seau Je vais donc utiliser ce seul acc s par le port 22 pour effectuer mes synchronisations PC Maison Gentoo AMD64 Se ae a
2. Firewall Perso LE Suiteh AA Router Perso Subversion repository Debian testing i686 Port 22 ssh ouvert vers l ext rieur Firewall Universit Internet FAI PC Travail Debian testing i686 Pas de port ouvert vers l ext rieur F1G 1 Infrastructure du r seau Y Mor re Utilisation de Subversion pour la gestion des documents ATEX Documentation Graoulug 3 2 L existant Jusqu pr sent pour maintenir des versions jour sur chaque machine j emportais une archive du r pertoire des documents projets sur une cl USB ou je le d posais via scp sur la machine interm diaire visible de l ext rieur Mais cela peut se r veler long et souvent seulement quelques fichiers ont besoin d tre mis jour Ce qui est donc une perte de temps De plus les manipulations deviennent vite fastidieuses archivage du r pertoire sur la machine source copie de l archive sur la machine interm diaire copie de l archive sur la machine de destination d sarchivage sur la machine de destination De plus si le fichier est assez gros le temp de transfert surtout du cot maison n est pas n gligeable Il est vident que je pourrais utiliser un outil de type rsync comme dans le cas du serveur de sauvegarde http vyann morere free fr article php3 id_article 74
3. de aussi une commande verbeuse par l interm diaire du commutateur verbose v yann biboo latex graoulug svn_for_latex svn status v svn_for_latex tex 169 150 yann 169 31 yann images 169 31 yann images reseau dia 169 31 yann images reseau eps M 169 150 yann svn_for_latex tex yann biboo latex graoulug svn_for_latex Dans mon cas le signifie qu il s agit d un fichier non pris en compte par svn Si vous donnez un chamin sp cifique la comamnde svn status vous obtenez l information relative cet unique item Y Mor re Utilisation de Subversion pour la gestion des documents IAT X Documentation Graoulug 14 yann biboo latex graoulug svn_for_latex svn status svn_for_latex tex M svn_for_latex tex yann biboo latex graoulug svn_for_latex svn status svn_for_latex tex M svn_for_latex tex yann biboo latex graoulug svn_for_ latex Il existe aussi l option show updates u qui contacte le d p t svn et ajoute les informations propos des choses p rim es svn status u v M 44 23 sally README M 44 20 harry bar c 44 35 harry stuff trout c D 44 19 ira stuff fish c A 0 stuff things bloo h Status against revision 46 Notez les 2 asterisks En fait si vous deviez lancer un svn update ce point les fichiers modifi s seraient README et trout c Examiner en d tal les modifications on utilise la commande svn diff De plus cette commande forma
4. mais je n au rais pas de syst me de gestion de version et ne pourrais pas revenir en arri re Subversion parfois abr g SVN est un logiciel informatique de gestion de versionnement semble tout indiqu La gestion de version en anglais revision control est une activit qui consiste maintenir l ensemble des versions d un logiciel Essentiellement utilis e dans le domaine de la cr ation de logiciels elle est surtout concern e par le code source mais elle peut tre utilis e pour tout type de document informatique Subversion est un logiciel de gestion de sources et de contr le de versions Ce type de pro grammes plusieurs fonctions notamment garder un historique des diff rentes versions des fichiers d un projet permettre le retour une version ant rieure quelconque garder un historique des modifications avec leur nature leur date leur auteur permettre un acc s souple ces fichiers en local ou via un r seau permettre des utilisateurs distincts et souvent distants de travailler ensemble sur les m mes fichiers On pourra justifier rapidement le choix de Subversion par les arguments suivants gt il est multiplateforme gt il s agit d un logiciel libre gt il fonctionne de mani re centralis e son utilisation et son administration sont plus faciles que CVS il supporte plusieurs modes d acc s distants dont SSH et WebDAV via Apache C est p
5. n rales 4 1 D p t repository Un d p t Subversion est l emplacement central o sont stock es toutes les donn es relatives aux projets g r s Le d p t est acc d via une URL locale ou distante Le d p t contient l historique des versions des fichiers stock s les logs enregistr s lors des modifications les dates et auteurs de ces modifications etc S il a t configur comme tel un d p t appara t de l ext rieur comme un syst me de fichiers compos de r pertoires au sein desquels on peut naviguer lire et crire selon les permissions accord es Dans le cas d une configuration type base de donn es la navigation n est possible qu travers d un outil d di Le tableau I r sume les diff rences entre une configuration type Base de donn es et une configuration type syst me de fichiers 4 2 Projets Au sein d un d p t se trouvent un ou plusieurs projets chaque projet correspond en g n ral un r pertoire situ la racine du d p t et qui contient lui m me les fichiers et dossiers du projet proprement dit Il est aussi possible de stocker toutes arborescences dans une base de donn es de type Berkeley En fait nous avons la possibilit de stocker soit dans une base de donn es soit dans une arbo rescence du syst me de fichier de mani re standard Avec la version 1 3 de subversion Debian l option choisie par d faut est la base de donn es de type Berkeley Exempl
6. premier niveau de sous r pertoires les dossiers trunk branches et tags En g n ral on d finit par tronc la version centrale du programme le d veloppement principal officiel Une branche est en g n ral cr e lorsqu un d veloppement secondaire est mis en route que ce soit pour ajouter une nouvelle fonctionnalit ou parce que certains d veloppeurs souhaitent essayer de prendre une autre direction pour certains aspects du d veloppement Une branche peut au bout d un certain temps soit tre nouveau fusionn e dans le tronc soit dispara tre soit donner lieu un nouveau programme La notion de tags correspond en partie celle de release c est dire de marquage d une certaine r vision du projet comme composant une version du projet Une fois que le d veloppement a atteint une certaine stabilit on pourra par exemple cr er un tag pour marquer la sortie de la version 1 0 Ceci permettra de revenir facilement cette version ind pendamment du num ro de r vision sous jacent correspondant Nous n entrerons pas dans le d tail de ces concepts et commandes ici mais on peut juste citer que la cr ation de branches ou de tags ne sont en fait que des copies cr es par la commande svn copy La commande svn switch elle permet de faire passer la copie de travail d une branche une autre Il est donc possible de les cr er en local puis d importer le r pertoire du projet oubien de cr er le
7. svn_for_latex Il est vident que les fichiers svn_for_latex aux svn_for_latex log svn_for_latex dvi et svn_for_latex toc g n r s par une compilation latex n ont pas besoin d tre stock s dans le d p t subversion On va donc utiliser la commande propedit et la propri t svn ignore sur le r pertoire courant Celle ci permet de notifier svn les fichiers exclure lors d une r vision ou d un import Plus d informations l adresselhttp svnbook red bean com nightly en svn book html svn advanced props special ignore Y Mor re Utilisation de Subversion pour la gestion des documents ATEX Documentation Graoulug 12 yann biboo latex graoulug svn_for_latex svn help propedit propedit pedit pe dit usage 1 propedit PROPNOM CHEMIN 2 propedit PROPNOM revprop r REV CIBLE 1 dite une propri t versionn e de la copie de travail 2 dite une propri t non versionn e d une r vision du d p t CIBLE d termine seulement le d p t concern Options valides r revision ARG ARG certaines commandes acceptent galement une t endue 42 L argument d une r vision peut tre NUM RO num ro de la r vision DATE r vision disponible cette date HEAD derni re r vision du d p t BASE r v de base de la copie de travail COMMITTED derni re propagation ou avant BASE PREV r vision juste avant COMMITTED revprop op re sur la propri te de r
8. vision utiliser avec r username ARG pr cise le nom d utilisateur ARG password ARG pr cise le mot de passe ARG no auth cache ne conserve pas les l ments d authentification non interactive pas de demande interactive encoding ARG interpr te les caract res comme encod s en ARG editor cmd ARG utilise ARG comme diteur externe force force l ex cution de l op ration config dir ARG lit les fichiers de configuration utilisateur dans le r per yann biboo latex graoulug svn_for_latex La commande suivante permet de configurer la liste des fichiers exclure pour le projet courant il faut bien sur tre dans le r pertoire du projet svn propedit svn ignore Un VI est alors ouvert dans votre terminal Il faut alors saisir la liste des fichiers expressions patterns Voici ce que j ai mis pour mes documents TEX toc log out aux lot lof blg bbl odt dvi ps pdf POE OX A OX X X R X x Comme cela seules les sources et images eps seront d pos es Y Mor re Utilisation de Subversion pour la gestion des documents ATEX Documentation Graoulug 13 Lettre Signification A The file directory or symbolic link item has been scheduled for addition into the repository C The file item is in a state of conflict That is changes received from the server during an update overlap with local changes that you have in your working copy You must re
9. Subversion pour HTEX Y Mor re Octobre 2006 R sum Cet article pr sente bri vement l utilisation de subversion dans un cadre tr s pr cis Avoir ses documents projets toujours jour au travail et la maison sans passer par une cl usb ou une archive que l on d place sur une machine Table des mati res Introduction 2 L existant 3 Subversion 3 Notions g n rales EL Depot repoentoryl o Lu ea LED eu LED au dass Dale ha ua de D DIS DIR ONU ir Si Qi Rio er diese 4 3 Copie de travail working copy 4A MEMBRE o he dre de Das de ab 8 4 0 ab 88 M 0e Pa ee Aol HER Li Las Se Las Se LAS EMA ER M ANR SVT Se 9 NOR SAS de SAND SUR A i SA a a a a A a Sue es QO oO Oo OO Oo A A Installation sur Debian 7 Installation sur Gentoo 7 O0 Principales commande de svn 8 Gestion d un projet document TEX 8 1 Cr ation du d p t repository lt 4 44 Sudga da a aude pee a 8 2 Pr paration importation des projets documents dans svn 8 3 Creation dela topie de travail ec gosos de do due a a ie a ie ta 10 S4 Ajout d un fichier au projet o s osos a soie e a Lu ui babes 10 Documentation Graoulug 2 8 5 Mise jour du d p t r vision LR SR a Ge ou 2 IE so nn MDI 3 4 Lies sud dus dus pe dans tas CU ET Exclusion des fichiers inutiles 4 44 444 va dau da anetesmetes l 8 8 Information sur la copie de travail
10. abled dav_svn conf Il faut modifier la configuration du module de subversion pour qu il corresponde vos besoin Dans mon cas ce dernier est inutile car je n ai pas de serveur Apache sur la machine du d p t 6 Installation sur Gentoo emerge svn Quelques logiciels de gestion en mode graphiques dont esvn rapidsvn aptitude install esvn rapidsvn Y Mor re Utilisation de Subversion pour la gestion des documents ATEX Documentation Graoulug 8 7 Principales commande de svn Commande Signification add D clare l ajout d une nouvelle ressource pour le prochain commit blame Permet de savoir quel contributeur a soumis les lignes d un fichier checkout co R cup re en local une r vision ainsi que ses m ta donn es depuis le d p t cleanup Nettoie la copie locale pour la remettre dans un tat stable commit ci Enregistre les modifications locales dans le d p t cr ant ainsi une nouvelle r vision copy Copie des ressources un autre emplacement localement ou dans le d p t delete D clare la suppression d une ressource existante pour le prochain commit ou supprime directement une ressource du d p t diff Calcule la diff rence entre deux r visions permet de cr er un patch appliquer sur une copie locale export R cup re une version sans m ta donn es depuis le d p t ou la copie locale import Envoie une arborescence locale v
11. ation ne fonctionnera pas 8 3 Cr ation de la copie de travail Pour r cup rer la base d un projet du d p t local dans un dossier du syst me La commande cd nous place dans le r pertoire racine de l utilisateur courant cd mkdir monSVN projet svn checkout file dossier sousDossier depot monSVN projet Checkout avec svn ssh svn checkout svntssh machine dossier depot monSVN projet commit Dans mon cas je vais utiliser svn ssh et ne rapatrier que le r pertoire trunk svn checkout svn ssh login machine home yann stockage svn_repository svn_for_latex trunk svn_for_latex J ai maintenant une copie locale du projet document 8 4 Ajout d un fichier au projet Cela se fait tr s simplement avec la commande svn add fichier yann biboo latex graoulug svn_for_latex ls images svn_for_latex dvi svn_for_latex tex svn_for_latex toc svn_for_latex aux svn_for_latex log svn_for_latex tex yann biboo latex graoulug svn_for_latex svn add svn_for_latex dvi A bin svn_for_latex dvi yann biboo latex graoulug svn_for_latex Y Mor re Utilisation de Subversion pour la gestion des documents ATEX Documentation Graoulug 11 8 5 Mise jour du d p t r vision Cela se fait tr s simplement avec la commande svn commit m description yann biboo latex graoulug svn_for_latex svn commit m ajout fichier dvi Password Ajout bin svn_for_latex dvi Envoi svn_for_latex tex Transmi
12. e d arborescence d p t svn_for_latex trunk doc LaTeX branches tags gestgard trunk projet php mysql branches Y Mor re Utilisation de Subversion pour la gestion des documents ATEX Documentation Graoulug Caract ristiques Berkeley DB bdb FSFS fsfs Sensibilit aux inter ruptions importante les probl mes de crash et de permissions peuvent planter la base et n cessiter une proc dure de restauration pas sensible Utilisable en montage non oui lecture seul Stockage ind pendant non oui de la plate forme Utilisable par un sys non oui t me de fichier r seau Taille du d p t l g rement plus grand l g rement plus petit Extensibilit nombre d arbres de r vision Base de donn es pas de pro bl mes certains anciens syst mes de fichiers ne peuvent pas g rer plus de quelques milliers d en tr es dans un seul r pertoire Extensibilit r per toire avec un grand nombre de fichiers plus lent plus rapide Rapidit v rification de mise jour plus rapide plus lent Rapidit r vision im portante plus lent mais le travail est ter min commit plus rapide mais les d lais de finalisation peuvent d connecter le client Support des permis sions de groupe sensible aux probl mes d umask utilisateur meilleur
13. en svn reposadmin html svn reposadmin basics backends Y Mor re Utilisation de Subversion pour la gestion des documents ATEX Documentation Graoulug 9 yann biboo latex graoulug svn_for_latex svnadmin help create create usage svnadmin create CHEMIN_D P T Cr e un nouveau d p t vide CHEMIN_D P T Options valides bdb txn nosync d sactive fsync aux propagations de transactions Berkeley bdb log keep d sactive la suppression automatique des fichiers du journ config dir ARG lit les fichiers de configuration utilisateur dans le r per fs type ARG type de d p t fsfs d faut ou bdb yann biboo latex graoulug svn_for_latex svnadmin create fs type fsfs dossier sousDossier depot Dans mon cas je me suis connect via ssh sur la machine et j ai cr le d p t comme suit pour un stockage dans une base de donn es svnadmin create home yann stockage svn_repository 8 2 Pr paration importation des projets documents dans svn Avant d importer un projet dans svn il est conseill d organiser le r pertoire du projet comme suit trunk pour le code de travail branches pour d ployer de nouvelles branches de travail test tags pour identifier du code distribu Les notions de tronc de branches et de tags sont assez sp cifiques aux logiciels de contr le de versions C est ce qui explique que les arborescences des r pertoires de projet contiennent souvent comme
14. ers le d p t info Donne les informations sur l origine de la copie locale log Donne les messages de commit d une ressource merge Calcule la diff rence entre deux versions et applique cette diff rence la copie locale move D clare le d placement d une ressource resolved Permet de d clarer un conflit de modifications comme r solu revert Revient une r vision donn e d une ressource Les modifications locales sont cras es status Indique les changements qui ont t effectu s update up Met jour la copie locale existante depuis la derni re r vision dis ponible sur le d p t 8 Gestion d un projet document ETEX 8 1 Cr ation du d p t repository Avant de commencer il faut fournir svn l endroit ou il va d poser tous ses fichiers pour fonctionner Pour cela un simple dossier de l arborescence suffit On va pouvoir par exemple utiliser un r pertoire de son HOME On ne cr e qu un seul d p t et on y placera tous les projets TEX ou autres Pour cr er un d p t sur une machine svnadmin create dossier sousDossier depot Par d faut avec la version 1 3 de subversion de la distribution Debian la structure du d p t sera une base de donn es de type Berkeley Si vous d sirez utiliser une arborescence de fichier il faut l indiquer la cr ation du d p t gr ce l option fs type Plus d information sur cet option l adresse http svnbook red bean com nightly
15. ers sont consid r s comme fusionnables ce fichier mime n est pas cr gt filename rOLDREV Il s agit du fichier de r vision BASE revision avant la mise jour de votre copie de travail C est dire la derni re r vision avant vos modifications gt filename rNEWREV C est le fichier re u du d p t par votre client subversion lors de la derni re mise jour Ce fichier correspond la derni re r vision du d p t HEAD revision Ici OLDREV est le num ro de r vision du fichier dans votre r pertoire svn etNEWREV le num ro de r vision de la t te HEAD du d p t 8 11 Cr ation d une release d un document Lorsque vous avez bien travailler et que vous consid rer qu il est fini du moins un moment pr cis il peut tre int ressant de cr er une archive release de de document sans l architecture svn les r pertoires svn cach s dans l arborescence Bien sur ce type de manipulation est bien plus utilis e dans le cadre d un projet de program mation Mais cela peut tre utile dans le cas d un manuel d utilisation que vous mettez sans cesse jour et pour lequel vous sort des versions t l charger La commande svn export va nous permettre de r aliser cela Cr e une copie non versionn e d une arborescence usage 1 export r REV URLI PEGREV CHEMIN 2 export r REV CHEMIN1 PEGREV CHEMIN2 1 Exporte une arborescence propre partir du d p t URL la r v
16. ision Y Mor re Utilisation de Subversion pour la gestion des documents IATEX Documentation Graoulug 16 REV si pr cis e ou HEAD sinon vers CHEMIN Si CHEMIN n est pas donn le dernier composant de L URL est pris comme nom de r pertoire local 2 Exporte une arborescence propre partir de la copie de travail CHEMIN1 la r vision REV si pr cis e ou WORKING sinon vers CHEMIN2 Si CHEMIN2 est omis le dernier composant de CHEMIN1 est utilis comme nom de r pertoire local Si REV n est pas pr cis toutes les modifications locales sont conserv es Les fichiers hors du gestionnaire de version ne sont pas copi s Nous allons donc cr er dans un r pertoire un copie non versionn e mais avec le choix de de la version Ensuite on pourra cr er un tarball de ce r pertoire pour diffusion svn export svntssh login machine home yann stockage svn_repository mon_projet projet tar czf projet_0 1 tar gz projet_0 1 Et voila voici une release de votre projet que vous pouvez diffuser 9 Gestion des utilisateurs Cette partie reprend le tutoriel tr s vbien fait disponible l adresse http jay bertrand free fr blog index php url archives 27 Installer Subversion sous Debian html La toute premi re chose faire est de cr er un nouveau repository un endroit sp cifique o seront stock es les donn es On utilise pour cela la commande d administration svnadmin man svnadmin mkdir var lib svn sv
17. nadmin create fs type fsfs var lib svn ls var lib svn README txt conf dav db format hooks locks La commande svnadmin create lance la cr ation des structures n cessaires au repository dans le r pertoire var lib svn L option fs type permet de cr er le repository au format FSFS un nouveau syst me de fichier propre subversion plus performant que les bases de donn es BDB Bon on a un repository Tentons d y ajouter des choses su simpleutilisateur cd mkdir test echo ceci est un test gt test test txt svn import test file var lib svn test svn Can t create directory var lib svn db transactions 0 1 txn Permission denied svn Your commit message was left in a temporary file svn svn commit tmp C est tout fait normal le propri taire des fichiers est root Et comme on utilise le protocole file de subversion on utilise par cons quence le syst me de permission sur les fichiers de linux Ici on a rwx pour root et r_x pour les autres donc mon simpleutilisateur ne peut pas crire dans le repository Y Mor re Utilisation de Subversion pour la gestion des documents ATEX Documentation Graoulug 17 ls al var lib svn total 36 drwxr xr x 7 root root 4096 Oct 25 12 04 drwxr xr x 16 root root 4096 Oct 20 14 34 root root 379 Oct 25 12 04 README txt root root 4096 Oct 25 12 04 conf root root 4096 Oct 25 12 04 dav root root 4096 Oct 25 12 04 db root ro
18. ot 2 Oct 25 12 04 format root root 4096 Oct 25 12 04 hooks root root 4096 Oct 25 12 04 locks E a a drwxr xr x drwxr xr x drwxr sr x gt y drwxr xr x drwxr xr x N NO HO 0 NON Pour rem dier cela on va cr er un utilisateur et un groupe d di s svn et leur affecter le repository addgroup svn Adding group svn 1000 Done adduser no create home system ingroup svn svn Adding system user svn Adding new user svn 103 with group svn Not creating home directory chown R svn svn var lib svn chmod R g w var lib svn Cette commande indique que tous les membres du groupe ont les droit d criture sur l arbores cence svn ls al var lib svn drwxrwxr x 7 svn svn 4096 Oct 25 12 04 drwxr xr x 16 root root 4096 Oct 20 14 34 svn svn 379 Oct 25 12 04 README txt svn svn 4096 Oct 25 12 04 conf svn svn 4096 Oct 25 12 04 dav svn svn 4096 Oct 25 12 04 db svn svn 2 Oct 25 12 04 format svn svn 4096 Oct 25 12 04 hooks svn svn 4096 Oct 25 12 04 locks rw rw r drwxrwxr x drwxrwxr x drwxrwsr x y r drwxrwxr x drwxrwxr x N NO HO O1 NON Maintenant l utilisateur et ou le groupe svn peuvent acc der au repository D monstration adduser simpleutilisateur svn Cette commande permet d ajouter un utilisateur un groupe su simpleutilisateur cd 7 svn import test file var lib svn test Skipped test svn Adding test test tx
19. our cela que je l utilise pour g rer mes documents r dig s avec ETEX 3 Subversion Le site principal de subversion se trouve l adresse La documentation principale se trouve l adresse On pourra trouver une bonne pr sentation de l utilisation de subversion l adresse univ metz fr docs devel svn notamment pour l utilisation des tags Subversion est un syst me de gestion de versions on commence par cr er un d p t qui va servir stocker un projet Une fois ce d p t cr et rempli des fichiers du projet chaque personne y ayant acc s peut charger le contenu sur son disque local Ensuite on peut effectuer des op rations telles que modifier des fichiers en effacer compiler des sources sans affecter le contenu du d p t original Y Mor re Utilisation de Subversion pour la gestion des documents ATEX Documentation Graoulug 4 Un cycle de subversion se d roule comme suit Cr er un d p t svnadmin create Importer un projet pour gestion dans le d p t pr alablement cr svn import R cup rer la copie d un projet depuis un d p t svn checkout Modifier amp cr er le contenu du projet svn add svn copy svn move svn delete Consultation des modifications svn status Soumission des modifications svn commit Consultation des logs de subversion svn log Mettre jour son d p t local svn update Pour conna tre les commandes disponibles pour svn VVVVVV VV svn help 4 Notions g
20. s r pertoires trunk branches tags dans le d p t et ensuite d y importer juste le code de developpement du projet J utiliserai le premier cas Y Mor re Utilisation de Subversion pour la gestion des documents IATEX Documentation Graoulug 10 mkdir projet trunk projet tags projet branches Ensuite il suffit d importer le projet dans le d p t Pour cela on dispose de plusieurs moyens de connexion Les protocoles disponibles avec Subversion sont les suivants file pour un d p t sur un disque local svn pour un d p t distant avec un serveur Subversion dont l authentification est g r e par Subversion svn ssh pour un d p t distant avec un serveur Subversion dont l authentification est g r e par ssh gt http pour un d p t distant avec un serveur web Pour importer un projet dans le d p t svn import projet file chemin_absolu vers depot m Premier import Dans mon cas j utiliserais le protocole svn ssh svn import latex graoulug svn_for_latex svn ssh login machine home yann stockage svn_repository svn_for_latex m Import initial Doc LaTeX subversion pour LaTeX A cet instant la machine du d p t me demande le mot de passe pour autoriser l action Si vous ne sp cifiez pas l option m vim va s ouvrir pour que vous puissiez mettre une description de l action Il faut aussi faire attention de bien mettre le chemin absolu vers le d p t sinon l import
21. si acc s par un seul utilisateur g re les probl mes umask Maturit du code utilis depuis 2001 utilis depuis 2004 TAB 1 Repository Data Store Comparison Y Mor re Utilisation de Subversion pour la gestion des documents ATEX Documentation Graoulug 6 tags gtkrsynconfig trunk projet gtk C branches tags 4 3 Copie de travail working copy La copie de travail est un r pertoire situ en local sur le poste de l utilisateur et qui contient une copie d une r vision donn e des fichiers du d p t C est cette copie qui sert de base de travail et qui est modifi e en local avant d tre import e sauvegard e vers le d p t 4 4 R visions Chaque modification faite au d p t constitue une r vision Le num ro de r vision commence 1 et augmente de 1 chaque op ration Sa valeur n a aucune importance mais c est un indicateur qui permet de revenir une version donn e d un ou plusieurs fichiers 4 5 Op rations 4 5 1 checkout Le checkout est l op ration qui consiste r cup rer pour la premi re fois les fichiers d j existant au sein d un projet du d p t Cette op ration ne se fait en g n ral qu une fois par projet Le r sultat est une copie de travail 4 5 2 import L import est l op ration inverse du checkout Elle consiste placer dans le d p t des fichiers locaux d j existan
22. solve this conflict before committing your changes to the repository D The file directory or symbolic link item has been scheduled for deletion from the repository M The contents of the file item have been modified G The contents of the files repository and local copy have been mer ged during the update TAB 2 Signification du codage SVN Il est possible d y indiquer des r pertoires ce qui permet d exclure rapidement une partie de l arborescence du projet fichiers de travail test etc Dans le cas ou vous avez comme moi import le projet avant de conna tre la commande svn propedit il est n cessaire d effacer les fichiers exclure du d p t svn delete aux log aux x lot x lof x blg bbl odt tns dvi ps x pdf puis faire un commit svn commit m effacement fichiers inutiles 8 8 Information sur la copie de travail Si vous d sirez voir un aper u de vos modification utilisez la comamnde svn status Si vous utilisez la commande svn status la racine de votre projet sans arguments elle va d tecter toutes les modifications fichiers et arborescence que vous avez faites Le format de sortie de la commande svn status comporte 6 colonnes de caract res suivis d espaces et d un nom de fichier ou r pertoire La premi re colonne renseigne l tat d un fi chier r pertoire et ou son contenu L information est cod e de la mani re suivante svn status poss
23. ssion des donn es R vision 34 propag e yann biboo latex graoulug svn_for_latex 8 6 Effacement de fichier Cela se fait tr s simplement avec la commande svn delete fichier r pertoire yann biboo latex graoulug svn_for_latex svn delete svn_for_latex dvi D svn_for_latex dvi yann biboo latex graoulug svn_for_latex svn commit m effacement fichier dvi Password suppression svn_for_latex dvi Envoi svn_for_latex tex Transmission des donn es R vision 35 propag e yann biboo latex graoulug svn_for_latex 8 7 Exclusion des fichiers inutiles Dans le cadre d une utilisation de svn et ETEX il est vident qu il n est pas n cessaire de stocker sur le d p t les fichiers temporaires de travail Il en est de m me pour les fichiers objets et ex cutables dans le cadre d un projet informatique Ceci est surtout valable losqu on veut par exemple importer dans le d p t un projet document qui est d j bien avanc et qui poss de de nombreux fichiers de travail temporaires Pour cela il est possible d informer subversion des fichiers exclure du d p t Je vais prendre l exemple d un document TEX Je travaille actuellement sur l article suivant et je d sire l int grer subversion yann biboo latex graoulug svn_for_latex ls images svn_for_latex dvi svn_for_latex tex svn_for_latex toc svn_for_latex aux svn_for_latex log svn_for_latex tex yann biboo latex graoulug
24. t Committed revision 1 Y Mor re Utilisation de Subversion pour la gestion des documents ATEX Documentation Graoulug 18 Tout utilisateur appartenant au groupe svn peut d sormais acc der au repository en local depuis la machine Mais tout cela reste faisable dans le cadre de l utilisation de ssh comme pr c demment 10 Gestion de droits des groupes et projets Tout cela est tr s bien mais dans notre cas pour l instant tous les utilisateurs qui se trouvent dans le groupe svn ont acc s tous les projets stock s dans le d p t Cela n est pas forc ment une bonne chose et il faudrait cr er des groupes d utilisateurs et donner des droits ces groupes utilisateurs sur certains projets Tout cecien conservant notre acc s via ssh 10 1 Configuration de svnserve conf Pour cela nous allons configurer notre d pot gr ce aux fichiers svnserve conf et authz qui se trouvent dans le r pertoire conf la racine de votre d pot Pour plus d information sur la configuration du fichier svnserve conf je vous renvoie la page http svnbook red bean com en 1 4 svn book html svn serverconfig svnserve authl qui donne tous les d tails general anon access none ne donne aucun droits aux personnes non authentifi es auth access write donne les droits lecture ecriture aux personnes authentifi es la suite est inutile dans notre cas cas c est ssh qui s occupe de l autentification password db pass
25. te la sortie d une mani re unifi e diff qui permet d utiliser directement cetet sortie par le programme patch yann biboo latex graoulug svn_for_latex svn diff svn_for_latex tex Index svn_for_latex tex svn_for_latex tex r vision 170 svn_for_latex tex copie de travail 655 6 655 22 M svn_for_latex tex test Notez les 2 asterisks En fait si vous deviez lancer un texttt svn update ce pc Examiner en d tal les modificationsAnother way to examine your changes is with the svn Maintenant o que vous soyez travail ou maison un simple verb svn update vous per section Gestion des utilisateurs yann biboo latex graoulug svn_for_latex 8 9 Revenir en arri re Si des modifications ne sont pas correctes il est possible de revenir une version pr c dente l aide de la commande svn revert Ceci est aussi valable pour l effacement accidentel d un fichier Maintenant o que vous soyez travail ou maison un simple svn update vous permet d avoir toujours la derni re version de vos documents projets Bien sur il ne faut pas oublier de faire un svn commit avant de quitter son poste Y Mor re Utilisation de Subversion pour la gestion des documents IAT X Documentation Graoulug 15 8 10 R soudre les conflits de la copie de travail apr s une mise jour La commande svn status u peut pr dire les conflits Par exemple voici le r sultat de votre commande s
26. ts pour y cr er un nouveau projet Cette op ration ne se fait en g n ral qu une fois par projet 4 5 3 update L update consiste synchroniser la copie de travail locale avec le d p t en r cup rant la derni re version des fichiers du d p t C est cette occasion que des conflits de version peuvent appara tre 4 5 4 commit Un commit est l op ration inverse d un update Elle consiste mettre jour le d p t partir de la copie de travail locale Une nouvelle r vision est alors cr e Un log simple message texte contenant une description des modifications effectu es doit tre saisi cette occasion noter que pour qu un commit soit possible il faut que la copie de travail corresponde la derni re version du d p t modifications locales except es Si ce n est pas le cas il est n cessaire d effectuer d abord un update et de r soudre les conflits ventuels avant de r essayer le commit Y Mor re Utilisation de Subversion pour la gestion des documents IAT X Documentation Graoulug 7 5 Installation sur Debian Pour installer subversion et quelques outils associ s aptitude install subversion subversion tools Pour utiliser subversion via le web il existe un module apache qui permet d utiliser subversion Il y a aussi des logiciels pour voir les d p ts en ligne tel que ViewSVN ou websvn aptitude install libapache2 svn Le module est charg dans etc apache2 mods en
27. vn update svn update U INSTALL G README C bar c Updated to revision 46 Les fichiers marqu s U et G ne sont pas concern s Ces fichiers sont trait s convenablement par le d p t Les fichiers marqu s d un U ne contenait pas de modification locale et ont t mis jour avec les modifications du d p t La lettre G signifie merGed fusionn m lang ce qui signifie que le fichier local poss dait desz modification mais que les modifications qui venaient du d p t ne rentraient pas en conflit avec les modifications locales Par contre la lettre C repr sernte un conflit Cela signifie que des changements sur le d p t rentrent en conflit avec les votres Il va falloir choisir manuellement les modifications apporter Quand un conflit appara t il y a 3 choses qui peuvent vous aider r soudre le conflit gt Subversion affiche un C pendant la mise jour et se souvient que ce fichier est en conflit Si Subversion consid re que les fichiers peuvent tre fusionn s il place des cha nes de mar queurs de conflit cha ne texte pour d limiter et mettre en valeur les zones de conflit Pour chaque fichier en conflit Subversion place 3 fichiers suppl mentaires non versionn s sur votre copie de travail gt filename mine Il s agit de votre fichier identique votre copie de travail avant la mie jour sans marqueurs de conflit Ce fichier poss de seulement vos derni res modifications Si les fichi
28. wd les mots de passe des utilisateurs sont stock s dans le fichier cc la gestion des autorisation est stock e dans le fichier conf authz authz db authz 10 2 Configuration de authz Il convient alors de cr er un compte pour chaque utilisateur acc s ssh et de remplir le fichier conf authz pour g rer les droits d acc s Voici un exemple de fichier authz Pour plus d infor mation sur la configuration je vous renvoi l adresse http svnbook red bean com en 1 4 svn book html svn serverconfig pathbasedauthz groups group_admin yann cr ation d un groupe administrateurs group_these yann regis group_admin rw on donne tous les droits sur tout le d pot aux admins yann rw on donne tous les droits l utilisateur yann aucun droit pour les autres these_regis group_these rw on donne tous les droits aucun droit pour les autres Y Mor re Utilisation de Subversion pour la gestion des documents ATEX Documentation Graoulug 19 Voila c est un exemple minimal mais qui fonctionne 11 Ce que cet article ne traite pas La visualisation graphique du d p t gt L utilisation de svn revert 12 Conclusion C en est fini de cet article toutes remarques et corrections sont les bienvenues l adresse morere univ metz fr Y Mor re Utilisation de Subversion pour la gestion des documents ATEX

Download Pdf Manuals

image

Related Search

Related Contents

  Pilotage des crises pour les dirigeants  IRDH275 - Bender  SQUARE WAVE™ TIG 175  Delta OPC User Manual  エンジン ENGINE  

Copyright © All rights reserved.
Failed to retrieve file