This text is a work in progress—highly subject to change—and may not accurately describe any released version of the Apache™ Subversion® software. Bookmarking or otherwise referring others to this page is probably not such a smart idea. Please visit http://www.svnbook.com/ for stable versions of this book.

Création d'une copie de travail

En général, vous commencerez à utiliser un dépôt Subversion en faisant une extraction (checkout en anglais) de votre projet. Extraire un dossier d'un dépôt crée sur votre ordinateur une copie de travail de ce dossier. Cette copie contient la dernière version (c'est-à-dire la plus récemment créée ou modifiée) du dossier et de sa sous-arborescence trouvée dans le dépôt Subversion :

$ svn checkout http://svn.exemple.com/svn/depot/trunk
A    trunk/LISEZMOI
A    trunk/INSTALL
A    trunk/src/main.c
A    trunk/src/header.h
…
Révision 8810 extraite.
$

Alors que l'exemple précédent extrait le dossier de base trunk, vous pouvez tout aussi facilement extraire un sous-dossier situé à n'importe quelle profondeur dans le dépôt en spécifiant le sous-dossier dans l'URL d'extraction :

$ svn checkout http://svn.exemple.com/svn/depot/trunk/src
A    src/main.c
A    src/header.h
A    src/lib/helpers.c
…
Révision 8810 extraite.
$

Comme Subversion utilise le modèle copier-modifier-fusionner à la place du modèle verrouiller-modifier-libérer (voir la section intitulée « Modèles de gestion de versions »), vous pouvez commencer immédiatement à modifier les fichiers et les dossiers de votre copie de travail. Votre copie de travail n'est qu'un ensemble de fichiers et de dossiers comme les autres dans votre système. Vous pouvez y éditer des fichiers, la modifier, la déplacer, vous pouvez même supprimer toute votre copie de travail et l'oublier définitivement.

[Avertissement] Avertissement

Bien que votre copie de travail « n'est qu'un ensemble de fichiers et de dossiers comme les autres dans votre système », vous pouvez éditer vos fichiers comme vous le voulez, mais vous devez signaler à Subversion toutes vos autres opérations. Par exemple, si vous voulez copier ou déplacer un élément dans votre copie de travail, vous devez utiliser svn copy ou svn move à la place des commandes de copie ou de déplacement fournies par votre système d'exploitation. Nous aborderons plus en détail ces commandes plus loin dans ce chapitre.

À moins que vous ne soyez prêt à propager l'ajout d'un nouveau fichier ou d'un nouveau dossier ou la modification d'un fichier ou dossier existant, il n'est pas nécessaire d'informer davantage le serveur Subversion que vous avez fait quelque chose.

Vous avez certainement remarqué que, dans les deux exemples précédents, Subversion crée la copie de travail dans un dossier nommé d'après le dernier composant de l'URL extraite. Ce comportement n'est qu'une facilité lorsque la seule information fournie à la commande svn checkout est l'URL d'extraction. Le client texte interactif de Subversion vous permet d'indiquer le nom d'un répertoire local afin d'y placer la copie de travail nouvellement créée. Par exemple :

$ svn checkout http://svn.exemple.com/svn/depot/trunk ma-copie-de-travail
A    ma-copie-de-travail/LISEZMOI
A    ma-copie-de-travail/INSTALL
A    ma-copie-de-travail/src/main.c
A    ma-copie-de-travail/src/header.h
…
Révision 8810 extraite.
$

Le dossier ma-copie-de-travail est créé par la commande svn checkout s'il n'existait pas auparavant.