menu
  Home  ==>  articles  ==>  outils  ==>  subversion_windows   

Subversion Windows - John COLIBRI.

  • résumé : installation et utilisation du gestionnaire de version SubVersion : création du Repository, ajout d'un répertroire au repository, création d'une la Working Copy, commandes pour ajouter, committer, effacer, installation du serveur SVNSERV.EXE et son utilisation en réseau, Svn et Delphi XE
  • mots clé : SubVersion - Version Control - Svn - CollabNet - Repository - Import - Checkout - Update - Commit - Svn.exe - SvnServe.exe - SvnAdmin.Exe
  • logiciel utilisé : CollabNet Subversion, Windows XP personnel, Vista, (Delphi XE, Delphi XE2, Delphi Xe3)
  • matériel utilisé : Pentium 2.800 Mhz, 512 Meg de mémoire, 250 Giga disque dur - portable Asus
  • champ d'application : utilisateur Windows - Delphi Xe, Delphi Xe2, Delphi Xe3
  • plan :


1 - Gestion de Version

Lorsque nous travaillons en équipe, ou que nous souhaitons gérer les versions successives d'une application, il est recommandé d'utiliser un logiciel de gestion de version.

Fondamentalement, ces outils permettent de stocker les versions successives, puis de rechercher, comparer, consolider etc la version courante avec les versions antérieures, que nous ou d'autres développeurs on stockées.

L'ensemble est simplement constitué d'une mécanique de stockage (incrémentale) avec des commandes pour sauvegarder, relire, comparer etc les différentes versions.

Il existe de nombreux outils, ayant des noms générique ou commerciaux, certains libres, d'autres payants. Mentionnons Bazaar, Cvs, Scm, et SubVersion



Nous allons dans cet article nous focaliser sur SubVersion :

Comme beaucoup d'autres outils de versioning, Subversion est livré sous forme d'un ensemble de fichiers .EXE en mode console. Nous pouvons alors:

  • soit utiliser le mode ligne de commande, CMD.EXE
  • soit télécharger des encapsulations Windows qui appellent ces .EXE avec une interface plus visuelle. La plus utilisée semble être TORTOISESVN.EXE
  • soit l'interface de certaines plateformes de développement, comme Delphi (XE et postérieurs)
Pour que des développeurs sur un autre poste puissent accéder aux projets stockés, plusieurs moyens sont proposés par SubVersion: passer par un serveur Apache, par des protocoles sécurisés ou par un serveur SVNSERVE.EXE qui est livré avec SubVersion.



Ayant rencontré quelques difficultés à comprendre comment s'articulaient les interfaces graphiques, la base des versions, l'accès par réseau, nous avons décidé d'examiner d'abord le mode le plus basique

  • uniquement les .EXE livrés avec SubVersion
  • appel par le mode ligne de commande
  • accès distant par le serveur livré avec SubVersion, SVNSERVE.EXE (donc PAS d'Apache ou autre SSN etc)


Nous allons donc présenter
  • où télécharger SubVersion
  • comment installer SubVersion
  • comment l'utiliser SubVersion



2 - Téléchargement et Installation

Voici comment télécharger et installer SubVersion :
   tapez l'URL

  http://www.collab.net/downloads/subversion

   la page de téléchargement est affichée

download_subversion_client_windows

   tapez "download" pour la version. Dans notre cas, Windows 32 bits, suivez la procédure d'enregistrement usuelle, puis sauvegardez

   dans notre cas, nous avons

subversion_client_windows_exe

   lancez l'exe

   le logiciel est installé

Dans notre cas, sur Vista, les données sont dans "C:\Program File\

collabnet_subversion_client_files

Et la base de registre contient quelques informations sur le logiciel (sans intérêt pour la suite mais qui confirme l'installation)

collabnet_subversion_client_registry

De plus, les .EXE de SubVersion sont dans un répertoire qui a été ajouté au Path Windows ("Poste de Travail | Propriétés | Avancé | Variables d'Environnement | Path")

subversion_in_path




3 - Architecture Subversion

3.1 - Architecture

Fondamentalement, SubVersion va stocker les fichiers dans une structure appelée "Repository". Ce repository est niché dans un répertoire dont nous pouvons choisir le nom, et a une structure interne gérée par SubVersion.

Une installation Subversion comporte donc

  • les .EXE installé par SubVersion
  • un Repository que nous créons en utilisant Subversion
Comme des développeurs travaillant sur d'autres PC doivent pouvoir stocker leurs projets dans le Repository, SubVersion doit avoir un mécanisme d'accès à distance à ce Repository. Ici c'est une organisation Client / Serveur qui a été mise en place.



L'architecture Subversion se présente donc ainsi:

svn_architecture

  • CMD.EXE est mode commande windows (DOS shell)
  • SVN.EXE est le programme qui traite les commandes subversion (sauvegarder, consolider etc)
  • SVNADMIN.EXE est le programme qui permet de créer un Repository
  • SVNSERVE.EXE est le programme qui reçoit les commande invoquées depuis un autre poste par SVN.EXE de ce poste
Les SVN_xxx.EXE sont installés par SubVersion (cf l'image de Program Files plus haut).



Donc

  • pour fonctionner en mode mono-poste (mode local, programmeur individuel), nous avons besoin
    • de SVNADMIN.EXE, SVN.EXE, et, naturellement, de CMD.EXE pour lancer les commandes
  • pour fonctionner en mode multi-poste, il faut
    • côté Serveur
      • de SVNADMIN.EXE, SVN.EXE, SVNSERVE.EXE, CMD.EXE
    • côté Client
      • de SVN.EXE et CMD.EXE


3.2 - Fonctionnement de base

Pour utiliser SubVersion, il faut
  • créer le Repository
  • stocker des projets dans le Repository
  • récupérer une copie de travail de projets
  • sauvegarder les modifications ce ces projets


Prenons le cas d'un Serveur utilisé uniquement pour gérer Subversion (pas de développeur sur ce poste) et deux développeurs, l'un travaillant sur Projet_A, et Projet_B, l'autre sur Projet_C

utilisation_subversion



Puis

  • L'"administrateur SubVersion" créé le Repository

    repository_subversion

  • le premier utilisateur sauvegarde Projet_A pour la première fois dans le Repository

    subversion

  • pour lire, puis éventuellement modifier Projet_A, n'importe quel utilisateur (y compris celui qui a créé la première copie) doit d'abord récupérer une version de travail ("Working copy") du projet. Supposons que ce soit l'autre utilisateur qui récupère une copie de travail:

    copy

    Cette copie est située dans un répertoire tout à fait normal, avec quelques fichiers de SubVersion qui gèrent ce qui a été récupéré du Repository (fichiers, dates, tailles etc).

  • si celui qui a créé la première sauvegarde souhaite aussi travailler sur une version de son projet, il doit aussi récupérer une "working copy". Il vaut mieux, en général, supprimer la version originale pour ne pas avoir plusieurs copies. Voici la situation:

    copy_2

  • chaque utilisateur d'une "working copy" peut l'utiliser comme un projet usuel: le modifier, ajouter / supprimer des fichiers etc.

  • pour que les modifications soient prise en compte par SubVersion, il faut les sauvegarder dans le Repository, qui crée alors une nouvelle version du projet :

    subversion_update




4 - Utilisation Locale de Subversion

4.1 - Commandes de base

Commençons par le plus simple, le travail en local sur le poste où est situé le Repository. Il faudra donc
  • créer le Repository
  • stocker un projet dans le Repository
  • récupérer une copie de travail de projets
  • sauvegarder les modifications ce ce projet


4.2 - Création du Repository Subversion

La création d'un repository se fait avec le paramètre "create" de SVNADMIN.

Comme tous le chemin des .EXE de SubVersion sont dans le Path SubVersion, nous pouvons invoquer cette commande depuis n'importe où.

Les .EXE sont tous en mode ligne de commande (pas d'interface GUI avec des fenêtres etc). Dans cet article nous utiliserons CMD.EXE pour les lancer.

Dans notre cas, il suffira de taper

    svnadmin create nom_repertoire

Nous avons choisi de placer le Repository en C:\zzz_svn_repo



Par conséquent
   depuis n'importe où, lancez CMD.EXE

   pour créer le repository, tapez

  svnadmin create C:\zzz_svn_repo <Entrée>

svnadmin_create

   SVNADMIN a crée le répertoire, avec les fichiers pour gérer ce Repository

create_subversion_repository



4.3 - Désignation du Repository

Pour désigner le Repository dans les commandes qui vont suivre, nous utiliserons son nom de fichier. Dans notre cas, le Repository sera désigné par

    file:///C:/zzz_svn_repo

notez:

  • file:/// qui indique que nous désignons le repository comme un fichier (pas par une URL)
  • C en MAJUSCULE
  • des "/" et pas des "\"
  • et ":" suivi de 3 "/"


4.4 - Help SubVersion

Pour avoir le détail de la syntaxe d'une commande, nous utilisons, depuis le mode ligne de commande, le paramètre HELP.

Par exemple
   pour avoir l'aide générale de SVNADMIN, tapez

  svnadmin help <Entrée>

   les commandes sont présentées

svnadmin_help

   pour des détails sur "create", tapez

  svnadmin create help <Entrée>

   et voici la syntaxe de "create":

svnadmin_create_help



4.5 - Première sauvegarde d'un projet - SVN import

Nous avons utilisé comme projet à gérer un répertoire stage\ sur notre disque, contenant

    stage\
        02_label\
        04_edit\
        05_listbox\

avec un projet (Delphi dans notre cas) dans chaque répertoire, soit 28 fichiers.



Pour sauvegarder stage\ et ses sous répertoires et fichiers, il faut utiliser SVN.EXE avec la commande "import" :

    svn import . file:///C:/zzz_svn_repo/stage -m "Initial import"

et

  • il faut que CMD.EXE utilise comme répertoire courant stage\, et "." désigne alors ce répertoire (sinon désigner le répertoire à sauvegarder)
  • le nom sous lequel sera désigné ce projet dans le Repository suit la dénomination du Repository


Voici le répertoire que nous voulons inclure dans SubVersion:

files_to_import



Créons donc un répertoire "mon_stage" dans le Repository :
   en mode commande, tapez

  svn import . file:///C:/zzz_svn_repo/mon_stage -m "Initial import"

svn_import_initial



SVN list

Pour vérifier que ces fichiers ont bien été inclus dans le Repository, nous utilisons

    svn list file:///C:/zzz_svn_repo/xxx

Donc
   tapez

  svn list file:///C:/zzz_svn_repo/mon_stage

svn_list

   pour plus de détail nous pouvons préciser des noms de sous répertoires ou fichiers

svn_list_dir

   nous pouvons aussi avoir un status avec la commande "info"

svn_info_dir



Création d'un répertoire de travail - SVN checkout

Un développeur qui souhaite travailler avec des données stockées dans le Repository doit commencer par en extraire les fichiers par la commande "checkout" (abréviation "co")

    svn co file:///C:/zzz_svn_repo/xxx

Cette commande a, naturellement plusieurs options, mais la façon la plus simple de l'utiliser est

  • de créer le répertoire où nous souhaitons placer les fichiers récupérés du Repository
  • lancer CMD.EXE depuis ce répertoire


Par conséquent
   créez un répertoire. Par exemple C:\_a\

   sélectionnez ce répertoire courant de CMD.EXE

  cd C:\_a <Entrée>

   tapez la commande checkout

  svn co file:///C:/zzz_svn_repo/mon_stage <Entrée>

   SVN copie les fichiers demandés

svn_checkout

et voici les fichiers copiés :

svn_working_project



Notez que
  • checkout a recréé l'arborescence dans C:_a\
  • la "Working copy" se caractérise par un répertoire C:\_a\mon_stage\.SVN\ qui contient des fichiers utilisés par SubVersion pour gérer ce qui a été copié / modifié / ajouté etc


Ajout de fichiers - SVN add

Si nous ajoutons de nouveaux fichiers à la "Working Copy", nous pouvons les ajouter au Repository par "add"

    svn add xxx



Créons donc un nouveau fichier et ajoutons-le au Repository:
   avec le bloc note, créez et ajoutez un fichier nouveau_fichier.txt dans un des répertoires de la Working Copy

svn_add

   sélectionnez le répertoire de ce fichier et ajoutez le au Repository

new_fille_added



4.6 - SVN commit

Pour qu'un fichier modifié ou ajouté soit incorporé dans une nouvelle version du Repository, nous invoquons "commit"

    svn commit -m "mon commentaire"

et

  • nous lançons la commande depuis la racine de la Working Copy
  • il est usuel et recommandé d'incorporer un commentaire, qui permettra, par la suite, d'afficher qui a fait quoi dans la nouvelle version


Donc
   tapez

  svn commit

svn_commit



4.7 - svn delete

Une fois un fichier committé, nous pouvons le supprimer par "delete"

Effaçons le nouveau fichier:
   tapez SUR UNE LIGNE

  svn delete svn://127.0.0.1/stage/O3_label/nouveau_fichier.txt
    --file log_1.txt --force

   et voici le résultat

svn_delete



Notez que

  • nous avons du créer un fichier local log_1.txt où "delete" pouvait stocker son log


4.8 - Résumé des actions locales

Voici un schéma résumant les opérations locales:

local_workflow



Nous avons ajouté au diagramme "svn update" qui permettrait de mettre à jour notre Working Copy si un autre utilisateur avait modifié le Repository.




5 - Utilisation Réseau de Subversion

5.1 - Etapes

Pour pouvoir utiliser SubVersion depuis un poste autre que celui qui contient le Repository, il faut
  • sur le Serveur
    • créer le Repository, si ce n'est pas déjà fait
    • ouvrir les droits d'utilisation des clients distants
    • lancer SVNSERVE.EXE
  • sur chaque Client
    • installer les .EXE Subversion clients
    • lancer les commandes SVN en utilisant des URLs et non plus des noms de fichiers


5.2 - Ouverture des droits

Par défaut n'importe qui pourra lire les fichiers, mais seuls les personnes ayant été enregistrées pourront utiliser certaines commandes de modification. Pour simplifier la présentation, nous allons donner le droit d'écriture à tous les utilisateurs
   allez dans le sous répertoire conf\ du repository, et ouvrez le fichier SVNSERVE.CONF

   la section [general] défini les droits d'accès

  [general]
  ### The anon-access and auth-access options control access to the
  ### repository for unauthenticated (a.k.a. anonymous) users and
  ### authenticated users, respectively.
  ### Valid values are "write", "read", and "none".
  ### Setting the value to "none" prohibits both reading and writing;
  ### "read" allows read-only access, and "write" allows complete
  ### read/write access to the repository.
  ### The sample settings below are the defaults and specify that anonymous
  ### users have read-only access to the repository, while authenticated
  ### users have read and write access to the repository.
  # anon-access = read
  # auth-access = write

   il suffit donc de modifier la ligne en commentaire ("#")

  # anon-acces = read

en la remplaçant par

  anon-acces = write

puis sauvegarder le fichier



5.3 - Lancement de SVNSERVE.EXE

SVNSERVE.EXE reçoit les commandes distantes (checkout, commit etc) et les applique au Repository du Serveur.

Pour cela il faut que SVNSERVE.EXE soit lancé lorsqu'une commande Client arrivera.

Nous avons choisi de lancer SVNSERVE.EXE comme un Service Windows. Nous utiliserons donc SC.EXE qui gère les services windows depuis le mode commande.



Pour installer le service
   depuis le mode commande, tapez (sur UNE LIGNE)

  sc create svnserve
    binpath= "\"C:\Program Files\CollabNet\Subversion svnClient\svnserve.exe\"
    --service --root c:\zzz_svn_repo"
    displayname= "Subversion"
    depend= tcpip
    start= auto

   voici le résultat

create_svnserve_service

Nous pouvons ouvrir le gestionnaire de services par "Panneau de Configuration | Outils d'administration | Service" qui présente notre service (le dialogue en avant-plan obtenu par "clic droit | propriétés" :

svnserve_windows_service



Très important

  • la syntaxe pour lancer le service est assez ahurissante:
    • SVNSERVE.EXE est accessible par

        C:\Program Files\CollabNet\Subversion Client\svnserve.exe

    • comme à la fois Microsoft et CollabNet on eu la sagesse d'ajouter des espaces dans leurs noms, il faut donc ajouter des guillemets

        "C:\Program Files\CollabNet\Subversion Client\svnserve.exe"

    • mais ce qu'attend SC.EXE, ce n'est pas le chemin+nom_fichier de l'EXE, mais la ligne de commande que SC.EXE va utiliser pour lancer le service. La commande est du type

        sc create nom_service "nom_exe -- service --root xxx" displayname etc

    • come "nom_exe ..." est entre guillemet, il faut encapsuler le nom qui a déjà des guillemets (merci Microsoft, merci CollabNet pour ces bons choix). il faut donc précéder les guillemets "internes" par le caractère d'échappement "\"

    • d'où le nom binpath

        "\"C:\Program Files\CollabNet\Subversion svnClient\svnserve.exe\"

    • en plus il faut respecter les règles du style
      • pas d'espace avant "="
      • un espace avant la valeur des paramètres
      etc etc. Bienvenu au club...

  • nous avons aussi pris soin de donner des noms différents à chaque élément:
    • SVNSERVE.EXE est le nom du serveur CollabNet
    • nous avons choisi le nom de service svnserve_service (utilisé pour le lancer, l'effacer etc)
    • le nom affiché dans le gestionnaire de service est aaa_svnserve ("aaa_" pour qu'il soit au début pour notre présentation)


Le service est créé, mais pas lancé (il le sera au prochain boot).

Pour lancer le service
   soit utilisez le gestionnaire ("démarrer le service")
   soit lancez le par le mode ligne de commande

  net start svnserve_service

   le service est lancé

svnserve_service_started



Nous pouvons vérifier que le service est lancé
   le gestionnaire de service affiche "started" (éventuellement raffraîchissez)
   tapez

  sc query svnserve_service

   voici la confirmation

svnserve_service_query



Finalement, si vous souhaitez supprimer le service
   arrêtez le service par

  net stop svnserve_service

   supprimez le service par

  sc delete svnserve_service

delete_svnserve_service



5.4 - Utilisation en mode réseau

Pour invoquer les commandes SVN depuis un réseau, il faut
  • utiliser le préfixe svn:// (qui signifie : appelez SVNSERVE.EXE)
  • indiquer l'adresse IP ou le nom du serveur
  • puis, directement, citer le répertoire


Commençons par l'adresse locale "localhost"
   pour lister un répertoire en utilisant SVNSERVE, tapez

remote_svn_list



Notez que
  • le résultat serait similare en utilisant "127.0.0.1"
  • l'URL n'utilise pas le nom de Repository


Pour appeler SVNSERVE depuis un autre poste, il faut connaître l'adresse IP du serveur.
   pour connaître l'adresse IP du poste, tapez

  ipconfig

ipconfig

   l'adresse est donc, dans notre cas, 192.168.1.20


5.5 - Appel Distant

Sur le PC client, nous avons installé SubVersion (mêmes étapes que sur le Serveur). Le répertoire Collabnet contiendra bien SVN.EXE.



Ensuite, pour invoquer les commandes SVN:
   depuis n'importe quel répertoire, tapez

  svn list svn://192.168.1.20/mon_stage/03_label

remote_svn_list



Les autres commandes, telles que svn import, svn checkout, svn add, svn commit, svn update etc seraient appelées avec la même syntaxe.



5.6 - Résumé des actions

Voici un schéma de l'utilisation en réseau:

remote_workflow



5.7 - Protocole HTTP

Parmi les autres combinaisons d'installation, mentionnons, sans le détailler, le protocole HTTP. Il faut installer un serveur HTTP, Apache en général et paramétrer l'ensemble sans modération ni retenue. Le repository est alors accessible avec des URLs http://. Par exemple

  svn co http://sys.cs.rice.edu/repos/comp314-students



Notez que

  • Apache est naturellement côté Serveur (université de Rice dans l'exemple ci-dessus)
  • donc si vous avez installé le Client SubVersion, vous pouvez télécharger (co= checkout) les fichiers


A titre d'exemple, les démos Delphi sont sur SourceForge accessibles par SubVersion. L'Url de base est

  http://radstudiodemos.svn.sourceforge.net/

et en tapant

  svn co   https://radstudiodemos.svn.sourceforge.net/svnroot/radstudiodemos

nous récupérons toutes les démos.



Pour un exemple plus modeste, en descendant dans l'arborescence, voici la page des Action Delphi XE3:

delphi_sourceforge_demos

L'URL précise est

  http://radstudiodemos.svn.sourceforge.net/viewvc/radstudiodemos/branches/RadStudio_XE3/LiveBindings/actions/

Nous pouvons télécharger un fichier compressé (cliquez "download Gnu Tarball"), ou utiliser SubVersion.



Pour télécharger les démos en utilisant SubVersion :
   lancez CMD.EXE dans un répertoire
   tapez SUR UNE LIGNE

  svn co https://radstudiodemos.svn.sourceforge.net/svnroot/radstudiodemos/branches/RadStudio_XE3/LiveBindings/actions/ <Entrée>

   après 20 à 30 secondes, voici le résultat

svn_delphi_sourceforge_demos

et le répertoire avec les fichiers :

delphi_sourceforge_demos_files




6 - Delphi XE et SubVersion

Delphi XE et suivants (donc Delphi XE, XE2, XE3) installent SubVersion automatiquement. Voici d'ailleurs le répertoire intallé (ici notre XP avec Delphi Xe2 et Delphi Xe3) :

collabnet_installed_by_delphi_xe3



L'IDE (environnement de développement intégré) permet d'utiliser Subversion :

  • depuis le menu "File | Add From Version Control"

    delphi_open_from_versioncontrol

    qui correspond à "svn checkout"

  • depuis le gestionnaire de projet "clic droit sur Project_xxx.exe | Add To Version Control"

    delphi_add_to_versioncontrol

    qui correspond à "svn import"

    Il y a naturellement les autres commandes pour mettre à jour, consolider, committer etc.



Notez que
  • Delphi ne permet pas de créer le Repository. Il faudra donc utiliser SVNADMIN.EXE, ou un client tel que TORTOISESVN.
  • mais, comme nous l'avons démontré plus haut avec les démos Xe3, nous pouvons utiliser SubVersion, installé par Delphi, pour télécharger des fichiers d'un serveur SubVersion sans utiliser l'IDE Delphi.



7 - Next

Nous avons présenté les premières étapes pour utiliser SubVersion
  • l'installation
  • la création du Repository
  • l'ajout d'un répertroire au repository
  • la création de la Working Copy
  • les commandes pour ajouter, committer, effacer
  • l'installation du serveur SVNSERVE.EXE et son utilisation en réseau
En gros 30 % de l'effort. Mais pour nous la plus pénible. Aussi passionnant que tâtonner des heures pour trouver les paramètres d'une ConnectionString Sql Serveur ou MySql.



Pour une utilisation industrielle, il reste 70 % de chemin à parcourir :

  • apprendre les autres commandes SVN
  • comprendre le mécanisme de gestion des versions
    • ce qui est sauvegardé à chaque addition au Repository
    • que faire lorsque différents utilisateurs ont des versions différentes
    • comment réconcilier les versions incohérentes de deux utilisateurs
    • comprendre les BRANCHES
  • gérer le Repository (TRUNC, BRANCHES, TAGS)
  • gérer la sécurité (les mots de passe, les droits etc)
  • éventuellement installer un serveur HTTP


Cette dernière partie, beaucoup plus intéressante pourra être effectuée
  • soit en mode commande (pénible aussi, certes)
  • soit en installant une interface Windows qui encapsule SVN.EXE. Par exemple TORTOISESVN



8 - Vocabulaire Version Control (== jargon)

Les moteurs de gestion de version utilisent un vocabulaire bien à eux :
  • "import" signifie sauvegarder dans le Repository un répertoire qui n'y figure pas encore, et dont les utilisateurs pourront ensuite lire pour construire une copie de travail
  • "checkout" (même verbe que lorsque nous réglons la note en partant d'un hôtel) signifie copier dans un de nos répertoire des fichiers stockés dans le Repository. Nous pouvons ensuite travailler normalement avec cette copie, et replacer dans le Repository les fichiers modifiés, ce qui créera une nouvelle version. Seuls les fichiers d'une Working Copy pourront être consolidés dans le Repository
  • "update" pour mettre à jour sa Working Copy avec une des versions de la Repository
Nous aurions préféré "save" pour stocker dans le Repository et "load" pour récupérer une version.

Une partie de notre confusion provient du mode ligne de commande: en nous plaçant dans un répertoire pour invoquer "import", nous avons l'illusion que nous "importons dans ce répertoire". En fait, ce n'est pas la bonne métaphore. En réalité

  • c'est SVN.EXE qui est le programme qui sera en train de tourner
  • il utilisera le répertroire courant de CMD.EXE
  • la métaphore est donc "SVN.EXE et le Repository importent le répertoire courant"


Mentionnons aussi que les commandes peuvent être abrégées. Ainsi

  svn checkout xxx

peut aussi être appelé par

  svn co xxx




9 - Références et Liens

Le téléchargement de Subversion importera automatiquement svn-book.pdf dans "Program Files\CollabNet \". Ce livre est considéré comme "la bible" SubVersion. Il est effectivement complet, mais mélange, ce qui est normal pour un livre de référence, la partie Unix et Windows (sans parler de Mac), et les différents modes. Trouver les commandes à utiliser pour Windows est donc un peu laborieux.

SvnBook contient une version en ligne du même. Vous le trouverez rapidement en cherchant des commandes particulières sur Google (+"subversion"+"delete" par exemple)

Il existe aussi de nombreuses "cheat sheet" qui résument les commandes. De qualité variable, et plus souvent en Unix qu'en Windows.




10 - Commentaires

Comme d'habitude:
  • nous vous remercions de nous signaler toute erreur, inexactitude ou problème de téléchargement en envoyant un e-mail à jcolibri@jcolibri.com. Les corrections qui en résulteront pourront aider les prochains lecteurs
  • tous vos commentaires, remarques, questions, critiques, suggestion d'article, ou mentions d'autres sources sur le même sujet seront de même les bienvenus à jcolibri@jcolibri.com.
  • plus simplement, vous pouvez taper (anonymement ou en fournissant votre e-mail pour une réponse) vos commentaires ci-dessus et nous les envoyer en cliquant "envoyer" :
    Nom :
    E-mail :
    Commentaires * :
     

  • et si vous avez apprécié cet article, faites connaître notre site, ajoutez un lien dans vos listes de liens ou citez-nous dans vos blogs ou réponses sur les messageries. C'est très simple: plus nous aurons de visiteurs et de références Google, plus nous écrirons d'articles.



11 - L'auteur

John COLIBRI est passionné par le développement Delphi et les applications de Bases de Données. Il a écrit de nombreux livres et articles, et partage son temps entre le développement de projets (nouveaux projets, maintenance, audit, migration BDE, migration Xe_n, refactoring) pour ses clients, le conseil (composants, architecture, test) et la formation. Son site contient des articles avec code source, ainsi que le programme et le calendrier des stages de formation Delphi, base de données, programmation objet, Services Web, Tcp/Ip et UML qu'il anime personellement tous les mois, à Paris, en province ou sur site client.
Created: jan-04. Last updated: mar-2020 - 250 articles, 620 .ZIP sources, 3303 figures
Contact : John COLIBRI - Tel: 01.42.83.69.36 / 06.87.88.23.91 - email:jcolibri@jcolibri.com
Copyright © J.Colibri   http://www.jcolibri.com - 2001 - 2020
Retour:  Home  Articles  Formations  Développement Delphi  Livres  Pascalissime  Liens  Download
l'Institut Pascal

John COLIBRI

+ Home
  + articles_avec_sources
    + bases_de_donnees
    + web_internet_sockets
    + services_web_
    + prog_objet_composants
    + office_com_automation
    + colibri_utilities
    + uml_design_patterns
    + graphique
    + delphi
    + outils
      – subversion_windows
    + firemonkey
    + vcl_rtl
    + colibri_helpers
    + colibri_skelettons
    + admin
  + formations
  + developpement_delphi
  + présentations
  + pascalissime
  + livres
  + entre_nous
  – télécharger

contacts
plan_du_site
– chercher :

RSS feed  
Blog

Formation Delphi xe3 complete L'outil de développpement, le langage de programmation, les composants, les bases de données et la programmation Internet - 5 jours
Formation Bases de Données Delphi Gestion de bases de données : connexion, accès aux tables, édition d'états - 3 jours