2010-03-08 4 views
5

Ho più repository SVN di diversi progetti che vorrei cercare lo stesso termine di ricerca/espressione regolare, ma senza verificare o aggiornare ciascun progetto e fare la ricerca manualmente su ciascuno di essi.Come cercare il contenuto del file in più repository di subversion?

Mi piacerebbe sapere se è possibile cercare il contenuto del file in più repository SVN per alcuni termini di ricerca (o regex).

+0

Stai cercando di cercare all'interno dei file, o solo i nomi dei file? – amicitas

+0

Voglio cercare il contenuto del file, quindi sì, all'interno del file. – MicSim

+0

Sembra che faresti meglio a lavorare direttamente sul filesystem del repository. Se stai cercando solo in file specifici, c'è 'svn cat', ma se vuoi una ricerca nella directory ricorsiva ... non ne ho idea. – JXG

risposta

5

Ecco uno script:

if [[ $# < 2 ]]; then 
    echo "Usage: $0 REGEX TARGET..." 
    echo "where REGEX is a regular expression for grep" 
    echo "and TARGET... is a list of SVN repositories" 
    exit 
fi 

regex=$1 
shift 

for svnroot in [email protected]; do 
    for path in $(svn ls --recursive $svnroot); do 
     if [[ $path != */ ]]; then 
      svn cat $svnroot/$path \ 
       | grep --label="$svnroot/$path" --with-filename $regex 
     fi 
    done 
done 
+1

Che lingua è questa? È un copione bash? – Sam

Problemi correlati