En général, vous commencerez à utiliser un dépôt Subversion
en faisant une extraction (« checkout »
en anglais) de votre projet. Extraire un projet d'un dépôt crée
sur votre ordinateur une « copie de travail » de ce
projet. Cette copie contient la version HEAD
(la dernière révision) du dépôt que vous indiquez dans la ligne
de commande :
$ svn checkout http://svn.apache.org/repos/asf/subversion/ A subversion/trunk A subversion/trunk/NOTICE A subversion/trunk/LICENSE A subversion/trunk/Makefile.in A subversion/trunk/build.conf … Révision 8810 extraite.
Alors que l'exemple précédent extrait le répertoire de
base trunk
, vous pouvez tout aussi
facilement extraire un sous-répertoire situé à n'importe quelle
profondeur dans le dépôt en spécifiant le sous-répertoire dans
l'URL d'extraction :
$ svn checkout \ http://svn.apache.org/repos/asf/subversion/trunk/subversion/tests/cmdline/ A cmdline/cat_tests.py A cmdline/revert_tests.py A cmdline/entries_tests.py A cmdline/svneditor.bat A cmdline/import_tests.py … 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 répertoires de votre copie de travail. Votre copie de travail n'est qu'un ensemble de fichiers et de répertoires 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 | |
---|---|
Bien que votre copie de travail « n'est qu'un ensemble de fichiers et de répertoires 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 répertoire ou la modification d'un fichier ou répertoire existant, il n'est pas nécessaire d'informer davantage le serveur Subversion que vous avez fait quelque chose.
Certes, vous pouvez extraire une copie de travail avec l'URL du dépôt comme seul argument, mais vous pouvez également spécifier un répertoire après l'URL du dépôt. Cela place votre copie de travail dans le nouveau répertoire indiqué. Par exemple :
$ svn checkout http://svn.apache.org/repos/asf/subversion/trunk subv A subv/NOTICE A subv/LICENSE A subv/Makefile.in A subv/build.conf … Révision 8810 extraite.
Ceci place votre copie de travail dans un répertoire nommé
subv
au lieu d'un répertoire nommé
trunk
comme nous l'avions fait précédemment.
Le répertoire subv
est créé s'il n'existait
pas auparavant.
Lorsque vous réalisez une opération Subversion qui nécessite une authentification, Subversion met par défaut en cache sur le disque vos éléments d'authentification. Il fait cela par commodité, pour que vous ne soyez pas obligé de ré-entrer constamment votre mot de passe pour les opérations suivantes. Si la mise en cache des mots de passe Subversion vous dérange[4], vous pouvez désactiver la mise en cache de façon permanente ou au cas par cas.
Pour désactiver la mise en cache du mot de passe pour un
appel donné d'une commande particulière, passez l'option
--no-auth-cache
sur la ligne de commande.
Pour désactiver de façon permanente la mise en cache, vous
pouvez ajouter la ligne store-passwords = no
à votre fichier de configuration Subversion sur votre machine
locale. Voir la section intitulée « Mise en cache des éléments d'authentification du client » pour plus de
détails.
Puisque Subversion met en cache par défaut les éléments
d'authentification (à la fois le nom d'utilisateur et le mot
de passe), il se souvient commodément de qui vous étiez la
dernière fois que vous avez modifié votre copie de travail.
Mais parfois, cela n'aide pas, en particulier si vous
travaillez sur une copie de travail partagée, comme par exemple
un répertoire de configuration système, ou le répertoire racine
des documents d'un serveur Web. Dans ce cas, il suffit de
passer l'option --username
à la ligne de
commande et Subversion essaie alors de vous authentifier en tant
que cet utilisateur, vous demandant votre mot de passe si
nécessaire.
[4] Bien sûr, cela ne vous inquiète pas outre mesure : d'abord parce que vous savez qu'on ne peut jamais rien effacer réellement avec Subversion, et ensuite parce que votre mot de passe Subversion n'est pas le même que les trois millions d'autres mots de passe que vous avez déjà, pas vrai ? Pas vrai ?