SVNリポジトリでコードスニペットを検索できる優れたソフトウェアはありますか?「FishEye」を見つけましたが、費用は1,200で、予算を大きく超えています。
svn log --search
オプションがあり、単純なリポジトリ履歴検索を探している人にとって便利かもしれません。
SVNリポジトリでコードスニペットを検索できる優れたソフトウェアはありますか?「FishEye」を見つけましたが、費用は1,200で、予算を大きく超えています。
svn log --search
オプションがあり、単純なリポジトリ履歴検索を探している人にとって便利かもしれません。
回答:
ファイル名のみを検索する場合は、次を使用します。
svn list -R file:///subversion/repository | grep filename
ウィンドウズ:
svn list -R file:///subversion/repository | findstr filename
それ以外の場合は、チェックアウトしてファイルシステム検索を実行します。
egrep -r _code_ .
sourceforge.net/projects/svn-searchがあります。
http://svnquery.tigris.orgで入手可能なSvnQueryと呼ばれるSVNホームから直接のWindowsアプリケーションもあります。
VisualSVN Server 4.2は、Webインターフェイスでのファイルとフォルダーの検索をサポートしています。デモサーバーのリポジトリの 1つで新機能を試してみてください。
バージョン4.2のリリースノートを参照して、メインのダウンロードページからVisualSVN Server 4.2.0をダウンロードしてください。
古い答え
Subversion 1.8--search
svn log
から、commandでオプションを使用できるようになりました。このコマンドはリポジトリ内で全文検索を実行しないことに注意してください。次のデータのみが考慮されます。
svn:author
バージョン管理されていないプロパティ)、svn:date
バージョン管理されていないプロパティ)、svn:log
バージョン管理されていないプロパティ)、これらの新しい検索オプションに関するヘルプページは次のとおりです。
If the --search option is used, log messages are displayed only if the
provided search pattern matches any of the author, date, log message
text (unless --quiet is used), or, if the --verbose option is also
provided, a changed path.
The search pattern may include "glob syntax" wildcards:
? matches any single character
* matches a sequence of arbitrary characters
[abc] matches any of the characters listed inside the brackets
If multiple --search options are provided, a log message is shown if
it matches any of the provided search patterns. If the --search-and
option is used, that option's argument is combined with the pattern
from the previous --search or --search-and option, and a log message
is shown only if it matches the combined search pattern.
If --limit is used in combination with --search, --limit restricts the
number of log messages searched, rather than restricting the output
to a particular number of matching log messages.
この例では、リポジトリの完全なコンテンツをファイルにパイプ処理します。これにより、エディター内でファイル名をすばやく検索できます。
svn list -R svn://svn > filelist.txt
これは、リポジトリが比較的静的で、SVNサーバーからすべてを繰り返しロードする必要なく迅速な検索を実行したい場合に役立ちます。
http
プロトコルとして使用する必要があったことに注意してください(svn list -R http://repo/svn/etc
)。
私はTRACが好きです-このプラグインはあなたの仕事に役立つかもしれません:http : //trac-hacks.org/wiki/RepoSearchPlugin
ちなみに、FishEye(および他の多くのアトラシアン製品)には$ 10のスターターエディションがあり、FishEyeの場合、5つのリポジトリーと最大10人のコミッターがアクセスできます。この場合、お金は慈善団体に寄付されます。
単一ファイルまたは小さなリポジトリの履歴を検索している場合、痛みを伴うほど遅く(そして大雑把に実装されています)、svn logとsvn catの組み合わせが機能します。
svn log filetosearch |
grep '^r' |
cut -f1 -d' ' |
xargs -i bash -c "echo '{}'; svn cat filetosearch -'{}'"
ファイルが変更された各リビジョン番号とファイルを出力します。各リビジョンを別のファイルに入れてから、grepで変更を確認することができます。
PS。これを適切に行う方法を私に示す人への大規模な賛成投票!
git-svn
。Gitには、コミット履歴内のコードの組み込み検索があります。ただし、使用するには、コミット履歴全体をダウンロードする必要がありますgit-svn
。
SVNリポジトリの多くは「単純な」HTTPサイトなので、SVNルートをポイントして基本的な機能を提供する既成の「Webクロール」検索アプリを検討することを検討してください。それを更新することはおそらくちょっとしたトリックです、おそらくハッカリーのいくつかのSVNチェックはインデックスをくすぐり、変更を破棄または再インデックスする可能性があります。
大声で考えてください。