90 votes

Recherche d'un nom de fichier dans le dépôt SVN

Nous avons un référentiel de code qui contient des milliers de dossiers et de sous-dossiers, je veux faire une recherche dans ce référentiel par nom de fichier ou par un mot.

Root folder
    a\
    b\
    c\
    d\
    e\
    f\ab\
    f\ab\cd.txt

Je veux rechercher cd.txt mais je ne sais pas où il se trouve dans le dépôt SVN, pour cela je veux effectuer une recherche dans le dossier racine de SVN où je mettrai le nom du fichier cd.txt et je lancerai la commande, elle vérifiera dans chaque dossier et affichera les détails du fichier résultat....

J'espère que l'exigence est claire. Pouvez-vous m'aider sur ce point ?

4voto

dci_dave Points 21

Si vous utilisez TortoiseSVN, vous pouvez essayer ceci SI vous êtes prêt à regarder projet par projet - cela fonctionne pour moi :

  1. Créez un projet vide sous l'URL de premier niveau de votre référentiel, appelez-le BLANK.
  2. Cliquez sur l'URL Repo dans le panneau de gauche.
  3. Dans le volet de droite, sélectionnez votre projet BLANC et votre projet souhaité - disons tronc.
  4. Cliquez avec le bouton droit de la souris pour faire apparaître le menu du navigateur et sélectionnez "Comparez les URL". Selon la taille de votre répertoire, le chargement peut prendre une minute. Mais vous obtenez en fait toute votre liste de projets dans une liste "prête à être consultée".
  5. Saisissez le nom de votre fichier ou une autre chaîne dans le filtre de recherche

1voto

lazylead Points 346

Il n'est pas certain que ce soit une bonne idée d'utiliser des outils supplémentaires pour filtrer les résultats de la recherche comme svn+grep . Des outils tels que grep o svn-crawler peuvent ne pas être disponibles/fonctionner sous Windows ou d'autres systèmes d'exploitation, vous devrez les installer/mettre à niveau.

Vous pouvez résoudre cette tâche en utilisant une seule commande svn avec --search qui prend en charge les glob modèle :

> svn ls -R --search "readme.md"
branches/0.13.x/readme.md
trunk/readme.md

> svn ls -R --search "*.md"
branches/0.13.x/189.md
branches/0.13.x/readme.md
trunk/189.md
trunk/readme.md

Plus d'informations svn ls --search option :

> svn ls -h                                
list (ls): List directory entries in the repository.
usage: list [TARGET[@REV]...]

  List each TARGET file and the contents of each TARGET directory as
  they exist in the repository.  If TARGET is a working copy path, the
  corresponding repository URL will be used. If specified, REV determines
  in which revision the target is first looked up.

...

Valid options:
  ...
  --search ARG             : use ARG as search pattern (glob syntax, case-
                             and accent-insensitive, may require quotation marks
                             to prevent shell expansion)

0voto

bahrep Points 8212

VisualSVN Server 4.2 supporte la recherche de fichiers par nom dans l'interface web. Essayez cette nouvelle fonctionnalité sur la page serveur de démonstration .

Vous pouvez télécharger VisualSVN Server 4.2.0 à l'adresse suivante https://www.visualsvn.com/server/download/pre-release/ . Voir les notes de mise à jour à l'adresse suivante https://www.visualsvn.com/server/download/ .

enter image description here

-2voto

Antony Raja Points 1

Si votre référentiel distant n'est pas énorme, il existe une méthode simple : Vous pouvez faire un "checkout" pour obtenir un dépôt local. Si vous êtes sur une machine Windows, vous utilisez la commande "Search" ou sur une machine Linux, la commande "Find".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X