Que fait l'exportation dans SVN? Existe-t-il des différences majeures entre extraire une copie et exporter?
L'exportation supprime toutes les informations de contrôle de version et exporte une révision particulière (généralement la dernière) vers un autre emplacement spécifié.
Copy ou Checkout contient des informations de version avec le code source.
Si vous répertoriez le contenu du répertoire après une exportation, vous constaterez que les répertoires .svn sont manquants.
Généralement, ce que vous feriez si vous publiiez votre code pour un téléchargement public.
Lorsque vous faites un svn export
, vous ne créez pas les répertoires .svn
. C'est bien quand vous ne voulez pas ces répertoires. Par exemple, ma page Web est sous contrôle de révision Subversion. Je peux faire un svn export
à l'endroit où ma page Web devrait résider, et je me retrouve avec uniquement les fichiers et non les répertoires .svn
.
Cependant, sans les répertoires .svn
, vous ne disposez d'aucune information de version. Vous ne pouvez pas mettre à jour votre répertoire. Vous ne pouvez pas valider les modifications que vous apportez. Vous ne pouvez pas faire de diffs, exécuter des reproches, ou faire quoi que ce soit qui nécessite les informations de version stockées dans ces répertoires .svn
.
Ils sont identiques sauf qu'Export n'inclut pas les dossiers.svn et Checkout les inclut. Notez également qu’une exportation ne peut pas être mise à jour. Lorsque vous effectuez une extraction Subversion, chaque dossier et sous-dossier contient un dossier .svn. Ces dossiers .svn contiennent des copies propres de tous les fichiers extraits et des répertoires .tmp contenant des fichiers temporaires créés lors des opérations d'extraction, de validation, de mise à jour et autres.
Une exportation aura environ la moitié de la taille d'une extraction en raison de l'absence des dossiers.svn qui dupliquent tout le contenu.
Une exportation ne peut pas être mise à jour comme une commande.