No Git, cada cópia de trabalho é seu próprio repositório. Este não é o caso do SVN. Então, se você realmente quer encontrar repositórios , e eles estão no local padrão e na máquina local, isso é suficiente:
ls /var/svn
Supondo que você realmente queira encontrar cópias de trabalho , o SVN desde a versão 1.7 coloca apenas .svn
arquivos no nível superior de uma cópia de trabalho, portanto o comando
find / -type d -name '.svn'
funcionaria muito bem. Alternativamente, se você usou o SVN anterior e tem esses diretórios espalhados por toda parte, você pode tentar:
find / -type d -name '.svn' -exec dirname {} \; \
| sort \
| awk 'NR == 1 || $0 !~ "^"LAST { LAST = $0; print}'
Isso lista todos os diretórios que contêm subdiretórios .svn
e, em seguida, imprime somente aqueles que não contêm outro como prefixo.
Eu encontrei um computador contendo locate
, onde
$ 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.
Neste sistema, uma abordagem semelhante ao exemplo final find
:
locate -r '/\.svn$' \
| sed 's/^\(.*\)$/""/' \
| xargs dirname \
| sort \
| awk 'NR == 1 || $0 !~ "^"LAST { LAST = $0; print }'