Puis-je ignorer un dossier lors du checkout de svn? Je dois ignorer le dossier DOCs lors du checkout sur mon serveur de construction.
éditer: Ignorer les externaux n'est pas une option. J'ai besoin de certains externaux.
Puis-je ignorer un dossier lors du checkout de svn? Je dois ignorer le dossier DOCs lors du checkout sur mon serveur de construction.
éditer: Ignorer les externaux n'est pas une option. J'ai besoin de certains externaux.
Vous ne pouvez pas ignorer directement les dossiers lors d'un checkout, mais vous pouvez utiliser des checkouts parcimonieux en svn 1.5. Par exemple:
$ svn co http://subversion/project/trunk my_checkout --depth immediates
Cela va vérifier les fichiers et répertoires de votre projet trunk dans 'my_checkout', mais ne pas récursivement dans ces répertoires. Par exemple:
$ cd my_checkout && ls
bar/ baz foo xyzzy/
Ensuite, pour obtenir le contenu de 'bar':
$ cd bar && svn update --set-depth infinity
Oui, vous pouvez utiliser SVN 1.6. Vous devrez d'abord effectuer un checkout, puis marquer le dossier à exclure avant de supprimer le dossier indésirable.
svn checkout http://www.example.com/project
cd project
svn update --set-depth=exclude docs
rm -fr docs
Désormais, toutes les mises à jour de la copie de travail ne réintégreront pas le dossier docs.
Voir http://blogs.collab.net/subversion/2009/03/sparse-directories-now-with-exclusion/ et http://subversion.apache.org/docs/release-notes/1.6.html#sparse-directory-exclusion pour plus de détails.
Tom
J'ai voté pour cela car cela m'a évité de devoir vérifier un dossier énorme qui n'était pas pertinent pour mon travail.
Avec les versions antérieures à 1.5, j'ai constaté que si vous ne récupérez que le dossier le plus haut et que vous mettez à jour de manière sélective, les mises à jour n'affectent que ce que vous avez récupéré. C'est-à-dire :
svn co -N foo
cd foo
svn up -N bar
svn up
Le drapeau -N rend l'opération non récursive. Ce qui précède ne récupérera rien d'autre au niveau de foo, par exemple s'il y a un dossier lala
, le dernier svn up ne récupérera pas ce dossier, mais il mettra à jour bar
.
Mais ultérieurement, vous pouvez faire svn up lala
et ainsi l'ajouter à la récupération.
Présumément, cela fonctionne aussi avec la version 1.5.
Oui, Subversion 1.5 a une fonctionnalité appelée Sparse checkouts qui peut faire exactement ce genre de chose.
En lisant cela, on dirait que les "sparse checkouts" limitent uniquement la profondeur d'un checkout. Ils ne peuvent pas ignorer un dossier particulier.
Bien sûr, vous devrez peut-être faire un peu de travail supplémentaire, comme limiter la profondeur du dossier parent avec --depth immediates, puis vérifier tous les autres dossiers sauf celui que vous souhaitez ignorer. Le point, c'est que les outils sont là si vous avez besoin de les utiliser.
Je note la mention des SparseCheckouts, et c'est certainement intéressant, mais cette réponse ne répond pas à la question initiale. Bien sûr, je peux vérifier un fichier à la fois, et cela entraînera la création de copies locales de fichiers spécifiques que je veux, mais c'est pénible de devoir le faire individuellement. Je crois que l'auteur de cette question demande comment ignorer un dossier spécifique, pas une profondeur de x dossiers, et permettre à l'ordinateur de faire le travail - le même travail que vous recommandez pourrait être effectué manuellement.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Découvrez ceci: stackoverflow.com/questions/116074/…
0 votes
Est-ce que cela répond à votre question? Comment ignorer un répertoire avec SVN?