2009-01-29 9 views
15

J'ai accès à une très grande base de code stockée dans un référentiel subversion. Je voudrais être en mesure d'effectuer le type de Google recherché sur la base de code. Je l'ai déjà fait lorsque j'ai accès au serveur en créant un partage réseau et en utilisant Google Desktop.Comment indexer et rechercher le référentiel subversion

Je n'ai actuellement pas accès à cette boîte de serveur subversion.

Des idées?

Quelques infos

  • Le code de base est une entreprise vaste et grand
  • Vous ne voulez pas télécharger la base de code entier pour toute l'entreprise sur mon ordinateur portable
  • Mon but comprendre ce code est disponible à l'intérieur de la société
  • le code change souvent

    Vous vous demandez s'il y a un outil qui peut rechercher des dépôts distants svn ? Pourquoi ne pas simplement vérifier sur un disque local et utiliser Google Desktop?

+1

Dupliquer vers [this] (http://stackoverflow.com/questions/254214/svn-repository-search) issue – Jared

Répondre

8

FishEye est un outil assez bien connu dans cet espace.

J'ai également vu des gens utiliser un indexeur de moteur de recherche (par exemple Lucene) pour explorer le repo. Mettre en place avec un crochet post-commit pour déclencher un ré-index lorsque le contenu change.

Tant que le référentiel est accessible via http, il peut être analysé par la plupart des indexeurs de contenu Web. Le seul problème est qu'il n'indexera que la HEAD, pas les révolutions plus anciennes. Pour cela, vous avez besoin d'un outil d'indexation qui comprend la structure de révision (c'est là qu'intervient FishEye).

+1

Si vous ne voulez pas emballer Lucene vous-même, pensez à OpenGrok. Je déclenche OpenGrok pour réindexer sur les commits Subversion. Ayez toujours un moteur de recherche à jour et sensible au contexte. – basszero

+4

La recherche de Fisheye est abyssale. Au moins, c'est là où je travaille, peut-être qu'ils l'ont mal configuré, mais si vous cherchez un nom de fichier, il n'en obtiendra * jamais *, le premier résultat sera supprimé, ou une étiquette, ou une branche, et la version du coffre dont vous vous souciez sera enfouie dans les résultats de recherche sans fin de chaque tag que vous avez jamais fait. – SCdF

+0

Même ici: utilisé Fisheye dans divers projets: il était lent et les départements informatiques ont toujours eu du mal avec la configuration (même si le cloud hébergé). Le seul outil que j'ai trouvé utile était "svnquery" qui semble tristement un projet mort maintenant. Allait tester OpenGrok dans une prochaine tentative. –

0

+0

C'est une option forte, mais je me demande s'il y a d'autres outils qui peuvent indexer et rechercher un repo à distance. Certains de mes contraintes sont - La base de code est grande - Ne pas besoin de tout le code pour mon projet - Mon but de comprendre le code ne le posséder - le code est dans toute l'entreprise et les changements souvent –

1

Il semble qu'il y ait quelques outils, mais ils ne semblent pas encore très matures. Un que j'ai trouvé il ya quelque temps est VoilaSVN - la recherche n'en est qu'une partie, et son installation ne semble pas très simple.

+0

web de VoilaSVN site semble être arrêté. Je reçois le message "Le compte n'est actuellement pas actif." –

-1

Comment utiliser Trac. Il a une interface graphique décente et est open source.

+0

Trac ne vient pas avec la recherche dans le dépôt en soi. – Ztyx

3

Vous pouvez essayer Supose. C'est une application d'indexation et de requête subversion en Java. Le meilleur de tout, c'est qu'il indexe non seulement le tronc ou les instantanés actuels, mais toutes les révisions.

http://www.supose.org/wiki/supose

+1

Lien mort maintenant. –

0

J'utilise Krugle. Ils ont une image VMWare gratuite (Basic). C'est une chienne à télécharger et à installer (c'est gros, et l'interface d'administration est un peu maladroite), mais une fois installée, la recherche et la visualisation de l'activité sont plutôt bonnes.

Questions connexes