Si j'avais 20 répertoires sous le tronc / avec beaucoup de fichiers dans chacun et que j'avais besoin de seulement 3 de ces répertoires, serait-il possible de faire une extraction Subversion avec seulement ces 3 répertoires sous le tronc?
svn
sparse-checkout
Lecture seulement
la source
la source
Réponses:
Subversion 1.5 introduit des extractions éparses qui peuvent être quelque chose que vous pourriez trouver utile. De la documentation :
la source
En effet, grâce aux commentaires sur mon article ici, il semble que les répertoires clairsemés soient la voie à suivre. Je pense que ce qui suit devrait le faire:
Sinon,
--depth immediates
au lieu d'empty
extraire les fichiers et les répertoirestrunk/proj
sans leur contenu. De cette façon, vous pouvez voir quels répertoires existent dans le référentiel.Comme mentionné dans la réponse de @ zigdon, vous pouvez également effectuer une extraction non récursive. Il s'agit d'un moyen plus ancien et moins flexible d'obtenir un effet similaire:
la source
Skipped 'prom/foo'
aprèssvn update --set-depth infinity proj/foo
:(svn update --set-depth immediates proj
afin de créer proj / foo pour la mise à jour.Ou faites une extraction non récursive de / trunk, puis faites simplement une mise à jour manuelle des 3 répertoires dont vous avez besoin.
la source
J'ai écrit un script pour automatiser les caisses clairsemées complexes.
la source
Si vous disposez déjà de la copie locale complète, vous pouvez supprimer les sous-dossiers indésirables à l'aide de la
--set-depth
commande.Voir: http://blogs.collab.net/subversion/sparse-directories-now-with-exclusion
La
set-depth
commande prend en charge les chemins multi-fichiers.La mise à jour de la copie locale racine ne changera pas la profondeur du dossier modifié.
Pour restaurer le dossier en cours d'extraction récusive, vous pouvez l'utiliser à
--set-depth
nouveau avec le paramètre infinity.la source
Sorte de. Comme le dit Bobby:
obtiendra les dossiers, mais vous obtiendrez des dossiers séparés du point de vue de la subversion. Vous devrez effectuer des validations et des mises à jour distinctes sur chaque sous-dossier.
Je ne pense pas que vous puissiez extraire un arbre partiel, puis travailler avec l'arbre partiel en tant qu'entité unique.
la source
Pas d'une manière particulièrement utile, non. Vous pouvez vérifier les sous-arbres (comme dans la suggestion de Bobby Jack), mais vous perdez alors la possibilité de les mettre à jour / de les valider de manière atomique; pour ce faire, ils doivent être placés sous leur parent commun, et dès que vous vérifiez le parent commun, vous téléchargez tout sous ce parent. La non-récursivité n'est pas une bonne option, car vous voulez que les mises à jour et les validations soient récursives.
la source