GNU/Linux >> Linux の 問題 >  >> Linux

システム上のすべてのSubversionリポジトリを見つける方法は?

このコマンドを使用できますlocate --regex '/.git$' | grep username システム上のすべてのgitリポジトリを検索しますが、.svn コマンドlocate --regex '/.svn$' | grep username 同様に機能します。

前者は約120を生産し、後者は14,000を超えました。

subversonリポジトリを分類するには、どのファイルまたはディレクトリ名を検索する必要がありますか?

承認された回答:

Gitでは、すべての作業コピーは独自のリポジトリです。これはSVNには当てはまりません。したがって、実際にリポジトリを検索したい場合 、およびそれらはデフォルトの場所にあり、ローカルマシン上にあり、これで十分です:

ls /var/svn

あなたが実際に作業コピーを見つけたいと仮定します 、バージョン1.7以降のSVNは.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 }'

Linux
  1. OSとLinuxのバージョンを確認する方法

  2. LinuxシステムのIDを変更する方法

  3. システム管理者(root)としてコマンドを実行する方法は?

  1. Linux:システムからすべてのログインログを取得する方法は?

  2. すべてのパスワードプロンプトを無効にする方法は?

  3. インストールを修復する方法は?

  1. システムの再起動が必要かどうかを確認する方法

  2. Linux ですべてのスパース ファイルを見つける方法

  3. Python でオペレーティング システムを確認するにはどうすればよいですか?