hg log -k
十分ではなく、hg grep
遅すぎる (約 100k 変更セット)場合はどうすればよいですか? 私たちは FishEye で非常に悪い経験をしており (遅すぎる)、Kiln は私たちを FogCreek 帝国に結びつけすぎているようです。
リポジトリで全文検索機能を提供するために他にどのようなオプションがありますか?
hg log -k
十分ではなく、hg grep
遅すぎる (約 100k 変更セット)場合はどうすればよいですか? 私たちは FishEye で非常に悪い経験をしており (遅すぎる)、Kiln は私たちを FogCreek 帝国に結びつけすぎているようです。
リポジトリで全文検索機能を提供するために他にどのようなオプションがありますか?
全文検索で何を探していますか?テキストが追加されたときのリビジョンを知りたい場合は簡単です。テキストが存在するすべてのリビジョンを知りたい場合は、それよりも大きくなります。
一般にhg grep
、インデックスを事前に構築することなく、または少なくとも従来のgrepを使用できるバージョン管理されたファイルを事前に構築することなく、取得するのと同じくらい高速です。
greppableファイル構造を事前に構築する場合は、次のようにすることができます。
hg export -o 'changeset-%r-%h.patch --rev 0:tip
これにより、各チェンジセットが、通常のコマンドラインgrepを使用したgrepまたはluceneなどを使用したインデックス作成に適したテキストファイルにエクスポートされます。changeset
あなたはフックでその電流を簡単に保つことができます。
changset diffのみを使用すると、テキストが追加または削除されたリビジョンを検索できますが、そのテキストが存在したすべてのリビジョンのリストは検索できません。そのためには、すべてのリビジョンですべてのファイルのコピーを事前に作成できますが、自動化が簡単であっても、それは多くのスペースです。
何かが起こった特定のリビジョンを探している場合の別のオプションは、に精通していることを確認することですhg bisect
。バイナリ検索が自動化されるため、文字列を含む最初のリビジョンを検索する場合は、次のCHEESE
ようにすることができます。
hg bisect --command "grep -s CHEESE" # might need to reverse the exit code of grep -s
ただし、これは作業ディレクトリを更新しますが、更新hg grep
しません。
RhodeCodeを見ましたか?-- http://demo.rhodecode.org/