Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/07/2012, à 18:10

tcharlss

[Résolu] 'svn update' récursif sur un seul niveau

Bonjour,

Je cherche une petite commande qui me ferait gagner du temps pour mettre à jour des plugins Spip récupérés via SVN.
Mes dossiers sont organisés comme suit :

-plugins Spip
    -pluginA
        -sousdossier
        -sousdossier
        ...
    -pluginB
        -sousdossier
        -sousdossier
        ...

Actuellement je lance la commande 'svn update' à la main dans chaque dossier pluginA, pluginB... sachant qu'il y en a une bonne cinquantaine, c'est une sacré perte de temps.
J'ai trouvé la ligne suivante sur internet pour automatiser le processus, elle exécute la commande 'svn update' dans tous les dossiers, quel que soit leur niveau.

find . -name ".svn" -type d -ls -exec svn update {}/.. \;

Comment restreindre ça aux dossiers de premier niveau ? (c.a.d pluginA, et pas les sous-dossiers)

Dernière modification par tcharlss (Le 03/07/2012, à 18:21)

Hors ligne

#2 Le 03/07/2012, à 18:13

nesthib

Re : [Résolu] 'svn update' récursif sur un seul niveau

find […] -maxdepth 1

sinon :

for dossier in */
do
  svn update "${dossier}"
done

(attention si les dossiers ont des noms spéciaux)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#3 Le 03/07/2012, à 18:17

tcharlss

Re : [Résolu] 'svn update' récursif sur un seul niveau

Après une recherche un peu plus poussée, j'ai trouvé ce script qui marche au poil

#!/bin/bash

update ()
{
 if [ -d $1/.svn ]
 then
  echo "Mise à jour de $1..."
  svn up $1
 else
     for i in `ls $1`
     do
      if [ -d $1/$i ]
      then
          update $1/$i
      fi
     done
 fi
}

if [ "$1" == "" ]; then
 echo "Mise à jour SVN dans `pwd`..."
 update .
else
 echo "Mise à jour SVN dans $1..."
    update $1
fi

Hors ligne

#4 Le 03/07/2012, à 18:21

tcharlss

Re : [Résolu] 'svn update' récursif sur un seul niveau

@nesthib : la 2ème commande marche très bien, merci !

Hors ligne