Extraction (“Ckeckout”) initiale

Le plus souvent, vous commencerez à utiliser un dépôt Subversion en effectuant une extraction de votre projet. Faire l'extraction d'un dépôt crée une copie de ce dernier sur votre machine locale. Cette copie contient la révision HEAD (soit la plus récente) du dépôt Subversion que vous avez spécifiée dans la ligne de commande :

$ svn checkout http://svn.collab.net/repos/svn/trunk
A  trunk/subversion.dsw
A  trunk/svn_check.dsp
A  trunk/COMMITTERS
A  trunk/configure.in
A  trunk/IDEAS
…
Checked out revision 2499.

Bien que l'exemple précédent extrait le répertoire “trunk”, vous pouvez tout aussi bien extraire n'importe quel sous-répertoire d'une profondeur quelconque dans un dépôt en spécifiant l'URL du sous-répertoire à extraire :

$ svn checkout http://svn.collab.net/repos/svn/trunk/doc/book/tools
A  tools/readme-dblite.html
A  tools/fo-stylesheet.xsl
A  tools/svnbook.el
A  tools/dtd
A  tools/dtd/dblite.dtd
…
Checked out revision 2499.

Puisque Subversion utilise le modèle “copier-modifier-fusionner” plutôt que le modèle “verrouiller-modifier-déverrouiller” (voir Chapter 2, Concepts de base), vous êtes dores et déjà en mesure de commencer à faire des modifications sur les fichiers et les répertoires dans votre copie de travail. Votre copie de travail est une collection de fichiers et de répertoires comme les autres sur votre système. Vous pouvez les éditer et les modifier, les déplacer, vous pouvez même supprimer la totalité de votre copie de travail et ne plus vous en soucier.

Note

Même si votre copie de travail n'est “qu'une collection de fichiers et de répertoires comme les autres sur votre système”, vous devez informer Subversion des réorganisations que vous avez l'intention d'effectuer dans votre copie de travail. Si vous souhaitez copier, déplacer ou renommer un élément dans votre copie de travail, vous devriez utiliser svn copy ou svn move au lieu des commandes de copie, de déplacement et de renommage fournies par votre système d'exploitation. Ces commandes seront expliquées en détail plus tard dans ce chapitre .

A moins que vous ne vouliez propager la création d'un nouveau fichier ou répertoire, ou des modifications effectuées sur des éléments existants, il n'est plus utile de communiquer davantage avec le serveur Subversion à propos de ce que vous faîtes.

Lorsque vous faites l'extraction d'une copie de travail, vous pouvez utiliser comme seul argument l'URL du dépôt mais vous pouvez aussi préciser le nom d'un répertoire après l'URL du dépôt. Cela créera votre copie de travail dans le nouveau répertoire dont vous avez donné le nom. Par exemple :

$ svn checkout http://svn.collab.net/repos/svn/trunk subv
A  subv/subversion.dsw
A  subv/svn_check.dsp
A  subv/COMMITTERS
A  subv/configure.in
A  subv/IDEAS
…
Checked out revision 2499.

Cela placera votre copie de travail dans un répertoire nommé subv au lieu d'un répertoire nommé trunk comme nous l'avions fait auparavant.