Posso usare questo comando locate --regex '/.git$' | grep username
per individuare tutti i repository git sul mio sistema, ma perché .svn
appare nelle sottodirectory dei repository il comando locate --regex '/.svn$' | grep username
funziona anche tu.
Il primo ne ha prodotti circa 120 e il secondo oltre 14.000.
Quale nome di file o directory devo cercare per lcate repository subversion?
Risposta accettata:
In Git, ogni copia funzionante è il proprio repository. Questo non è il caso di SVN. Quindi, se vuoi davvero trovare repository , e si trovano nella posizione predefinita e sul computer locale, questo è sufficiente:
ls /var/svn
Supponendo che tu voglia effettivamente trovare copie funzionanti , SVN dalla versione 1.7 inserisce solo .svn
file al livello superiore di una copia di lavoro, quindi il comando
find / -type d -name '.svn'
funzionerebbe bene. In alternativa, se hai utilizzato un SVN precedente e hai queste directory disseminate dappertutto, puoi provare:
find / -type d -name '.svn' -exec dirname {} \; \
| sort \
| awk 'NR == 1 || $0 !~ "^"LAST { LAST = $0; print}'
Questo elenca tutte le directory che contengono .svn
sottodirectory, quindi stampa solo quelle che non ne contengono un'altra come prefisso.
Ho trovato un computer che contiene locate
, dove
$ 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.
Su questo sistema, un approccio simile al find
finale esempio:
locate -r '/\.svn$' \
| sed 's/^\(.*\)$/"\1"/' \
| xargs dirname \
| sort \
| awk 'NR == 1 || $0 !~ "^"LAST { LAST = $0; print }'