2010-03-08 13 views
5

Tengo varios repositorios SVN de diferentes proyectos en los que me gustaría buscar el mismo término de búsqueda/expresión regular, pero sin revisar ni actualizar cada proyecto y hacer la búsqueda manualmente en cada uno de ellos.¿Cómo buscar el contenido del archivo en múltiples repositorios de subversión?

Me gustaría saber si es posible buscar el contenido del archivo en varios repositorios SVN para algún término de búsqueda (o regex).

+0

¿Estás tratando de buscar dentro de los archivos, o sólo los nombres de archivo? – amicitas

+0

Quiero buscar el contenido del archivo, entonces sí, dentro del archivo. – MicSim

+0

Parece que haría mejor en trabajar directamente en el sistema de archivos del repositorio. Si solo buscas en archivos específicos, hay 'svn cat', pero si quieres una búsqueda en el directorio recursivo ... No tengo ni idea. – JXG

Respuesta

5

Aquí es una secuencia de comandos:

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

¿Qué idioma es este? ¿Es un script bash? – Sam

Cuestiones relacionadas