2010-03-08 6 views
5

Ich habe mehrere SVN-Repositories von verschiedenen Projekten, die ich nach dem gleichen Suchbegriff/regex suchen möchte, aber ohne jedes Projekt auschecken oder aktualisieren und die Suche manuell auf jedem von ihnen tun.Wie wird der Dateiinhalt in mehreren Subversion-Repositories gesucht?

Ich würde gerne wissen, ob es möglich ist, die Dateiinhalte in mehreren SVN-Repositories für einen Suchbegriff (oder Regex) zu suchen. Hier

+0

Sind Sie in den Dateien zu suchen versuchen, oder einfach nur die Dateinamen? – amicitas

+0

Ich möchte den Dateiinhalt durchsuchen, also ja, innerhalb der Datei. – MicSim

+0

Es klingt, als würden Sie am besten direkt im Dateisystem des Repositorys arbeiten. Wenn Sie nur in bestimmten Dateien suchen, gibt es 'svn cat', aber wenn Sie eine rekursive Verzeichnissuche wollen ... Ich habe keine Ahnung. – JXG

Antwort

5

ist ein Skript:

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

Welche Sprache ist das? Ist es ein Bash-Skript? – Sam

Verwandte Themen