Détermination des dossiers à partir de la ligne de commande


1

J'ai un dossier qui contient un ensemble de dossiers qui sont eux-mêmes la racine de différents projets. Certains de ces projets sont versionnés sous svn, d'autres pas. Je cherche un one-line que je peux taper sur la ligne de commande pour me donner une liste de ces projets qui ne sont pas versionnés… des idées?

Réponses:


2

J'utilise 'svn info' pour vérifier si un sous-répertoire est sous contrôle de version. Si le répertoire testé n'est pas une copie de travail, 'svn info' retournera avec une erreur.
Vous pouvez rediriger la sortie pour masquer la sortie de 'svn info'.

Je vais passer à quelque chose comme ce qui suit pour les répertoires itératifs et si 'svn info' revient avec une erreur, son nom apparaît

for D in */; do svn info ${D} &>/dev/null; if [  $? -ne 0 ]; then echo ${D}; fi done

Je ne sais pas si vous pouvez appeler ça un one-line mais ça fera le travail.
Notez également que cela n'inclut pas les répertoires cachés.


Belle solution, mais ne serait-il pas un peu plus rapide de simplement vérifier s'il y a un .svn sous-répertoire à chaque endroit?
Lèse majesté

Travaille pour moi :)
Joe

@ Lèsemajesté Ce sera le cas, mais le '.svn' peut être une vieille corbeille ou autre chose et 'svn info' valide également la copie de travail dans une certaine mesure.
amotzg
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.