Deux moyens sont à votre disposition pour enregistrer de nouveaux fichiers dans votre dépôt Subversion : svn import et svn add. Nous abordons ici la commande svn import et, plus loin dans le chapitre, la commande svn add, lorsque nous passerons en revue une journée typique avec Subversion.
La commande svn import est un moyen rapide de copier une arborescence non-suivie en versions dans le dépôt, créant des dossiers intermédiaires si nécessaire. svn import ne nécessite pas de copie de travail et vos fichiers sont immédiatement propagés dans le dépôt. Ce moyen est utilisé essentiellement quand vous avez une arborescence dont vous voulez suivre les changements dans votre dépôt Subversion. Par exemple :
$ svnadmin create /var/svn/nouveau-depot $ svn import mon-arborescence file:///var/svn/nouveau-depot/un/projet \ -m "Import initial" Ajout mon-arborescence/truc.c Ajout mon-arborescence/machin.c Ajout mon-arborescence/sous-repertoire Ajout mon-arborescence/sous-repertoire/bidule.h
L'exemple précédent copie le contenu du dossier
mon-arborescence
dans le dossier
un/projet
dans le dépôt :
$svn list file:///var/svn/nouveau-depot/un/projet truc.c machin.c sous-repertoire/
Notez qu'après la fin de l'import, l'arborescence d'origine n'est pas transformée en copie de travail. Pour commencer à travailler, vous devez extraire grâce à svn checkout une copie de travail toute fraîche de l'arborescence.
Bien que Subversion vous permette d'organiser votre dépôt
de la manière dont vous le voulez, nous vous recommandons de
créer un dossier appelé trunk
pour stocker
la « ligne principale » du développement, un autre
dossier branches
qui contiendra les
copies alternatives (ou branches) et un dossier
tags
pour les versions étiquetées.
Par exemple :
$ svn list file:///var/svn/depot /trunk /branches /tags
Vous en apprendrez plus sur les étiquettes et les branches dans le Chapitre 4, Gestion des branches. Pour plus de détails et pour voir comment gérer plusieurs projets, reportez-vous à la section intitulée « Agencement du dépôt », et à la section intitulée « Stratégies d'organisation d'un dépôt » pour en savoir plus sur les répertoires racines d'un projet.