Saya dapat menggunakan perintah ini locate --regex '/.git$' | grep username
untuk menemukan semua repositori git di sistem saya, tetapi karena .svn
muncul di subdirektori repositori perintah locate --regex '/.svn$' | grep username
bekerja juga.
Yang pertama menghasilkan sekitar 120 dan yang kedua lebih dari 14.000.
Nama file atau direktori apa yang harus saya cari untuk menemukan repositori subverson?
Jawaban yang Diterima:
Di Git, setiap copy pekerjaan adalah repositorinya sendiri. Ini tidak berlaku untuk SVN. Jadi, jika Anda benar-benar ingin menemukan repositori , dan mereka berada di lokasi default dan di mesin lokal, ini sudah cukup:
ls /var/svn
Dengan asumsi Anda benar-benar ingin menemukan salinan kerja , SVN sejak versi 1.7 hanya menempatkan .svn
file di tingkat atas copy pekerjaan, jadi perintahnya
find / -type d -name '.svn'
akan bekerja dengan baik. Atau, jika Anda telah menggunakan SVN sebelumnya dan direktori ini berserakan, Anda dapat mencoba:
find / -type d -name '.svn' -exec dirname {} \; \
| sort \
| awk 'NR == 1 || $0 !~ "^"LAST { LAST = $0; print}'
Ini mencantumkan semua direktori yang berisi .svn
subdirektori, lalu hanya mencetak yang tidak mengandung yang lain sebagai awalan.
Saya menemukan komputer yang berisi locate
, di mana
$ 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.
Pada sistem ini, pendekatan yang mirip dengan find
final terakhir contoh:
locate -r '/\.svn$' \
| sed 's/^\(.*\)$/"\1"/' \
| xargs dirname \
| sort \
| awk 'NR == 1 || $0 !~ "^"LAST { LAST = $0; print }'