このコマンドを使用すると、 locate --regex '/.git$' | grep username
システム上のすべてのgitリポジトリを見つけることができますが、リポジトリの.svn
サブディレクトリに表示されるため、このコマンドlocate --regex '/.svn$' | grep username
も機能します。
前者は約120台の車両を生産したのに対し、後者は14,000台以上の車両を生産しました。
Subversonリポジトリを見つけるには、どのファイルまたはディレクトリ名を検索する必要がありますか?
答え1
Gitでは、各作業コピーは独自のリポジトリです。 SVNではそうではありません。だから本当に探したいならリポジトリ、デフォルトの場所とローカルシステムにある場合はこれで十分です。
ls /var/svn
本当に探したいとしましょう作業コピー、SVNバージョン1.7以降、.svn
作業コピーの最上位レベルにのみファイルを配置するため、このコマンドは
find / -type d -name '.svn'
うまくいくでしょう。または、以前のバージョンのSVNを使用していて、これらのディレクトリが散在している場合は、次のことを試すことができます。
find / -type d -name '.svn' -exec dirname {} \; \
| sort \
| awk 'NR == 1 || $0 !~ "^"LAST { LAST = $0; print}'
これにより、サブディレクトリを含むすべてのディレクトリが一覧表示.svn
され、プレフィックスとして他のディレクトリを含まないディレクトリのみが印刷されます。
locate
私はその内容を含むコンピュータを見つけました。
$ 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.
このシステムでは、find
最後の例と同様のアプローチをとります。
locate -r '/\.svn$' \
| sed 's/^\(.*\)$/"\1"/' \
| xargs dirname \
| sort \
| awk 'NR == 1 || $0 !~ "^"LAST { LAST = $0; print }'