GNU/Linux >> Tutoriels Linux >  >> Linux

Comment localiser tous les dépôts Subversion sur le système ?

Je peux utiliser cette commande locate --regex '/.git$' | grep username pour localiser tous les dépôts git sur mon système, mais parce que le .svn apparaît dans les sous-répertoires des dépôts la commande locate --regex '/.svn$' | grep username fonctionne aussi.

Le premier en a produit environ 120 et le second plus de 14 000.

Quel nom de fichier ou de répertoire dois-je rechercher pour localiser les référentiels subverson ?

Réponse acceptée :

Dans Git, chaque copie de travail est son propre référentiel. Ce n'est pas le cas pour SVN. Donc, si vous voulez réellement trouver des dépôts , et qu'ils se trouvent à l'emplacement par défaut et sur la machine locale, cela suffit :

ls /var/svn

En supposant que vous vouliez réellement trouver des copies de travail , SVN depuis la version 1.7 ne place que .svn fichiers au niveau supérieur d'une copie de travail, donc la commande

find / -type d -name '.svn'

fonctionnerait très bien. Alternativement, si vous avez utilisé un SVN antérieur et que ces répertoires sont éparpillés partout, vous pouvez essayer :

find / -type d -name '.svn' -exec dirname {} \; \
| sort \
| awk 'NR == 1 || $0 !~ "^"LAST { LAST = $0; print}'

Ceci liste tous les répertoires contenant .svn sous-répertoires, puis imprime uniquement ceux qui n'en contiennent pas d'autre comme préfixe.

J'ai trouvé un ordinateur contenant locate , où

$ locate --version
mlocate 0.26
Copyright (C) 2007 Red Hat, Inc. All rights reserved.
This software is distributed under the GPL v.2.

This program is provided with NO WARRANTY, to the extent permitted by law.

Sur ce système, une approche similaire à la dernière find exemple :

locate -r '/\.svn$' \
| sed 's/^\(.*\)$/"\1"/' \
| xargs dirname \
| sort \
| awk 'NR == 1 || $0 !~ "^"LAST { LAST = $0; print }'

Linux
  1. Comment vérifier la version du système d'exploitation et de Linux

  2. Comment changer l'identité d'un système Linux

  3. Comment exécuter une commande en tant qu'administrateur système (racine) ?

  4. Comment désactiver toutes les invites de mot de passe ?

  5. Comment vérifier si le système nécessite un redémarrage

Comment changer le shell par défaut dans le système Linux

Comment modifier les référentiels Proxmox

Comment trouver la liste des référentiels installés sous Linux

Linux - Comment installer X11 sur le propre système Linux Buildroot ?

Comment utiliser la commande fd sur le système Linux

Comment vérifier tous les ports ouverts de votre système Linux