hg log -k
不足,hg grep
太慢(cca。100k變更集)時該怎麼辦?我們對Fisheye有很糟糕的經歷(方式太慢),而且Kiln似乎把我們帶入了FogCreek帝國,只是有點太過分了。如何全文索引Mercurial存儲庫?
還有什麼其他選擇可以在存儲庫上提供全文搜索功能?
hg log -k
不足,hg grep
太慢(cca。100k變更集)時該怎麼辦?我們對Fisheye有很糟糕的經歷(方式太慢),而且Kiln似乎把我們帶入了FogCreek帝國,只是有點太過分了。如何全文索引Mercurial存儲庫?
還有什麼其他選擇可以在存儲庫上提供全文搜索功能?
您在尋找全文搜索嗎?如果您想知道添加文本時的修訂更容易,並且您想知道文本存在的更大的所有修訂。
一般而言,hg grep
的速度與無需預先構建索引或至少在構建可使用傳統grep的版本化文件的情況下獲得的速度一樣快。
如果你願意預先建立一個greppable文件結構,你可以做這樣的事情:
hg export -o 'changeset-%r-%h.patch --rev 0:tip
這將每個變更導出到適合使用正常的命令行的grep或索引grepping一個文本使用lucene或類似的。您可以通過changeset
鉤子輕鬆保持當前狀態。
只有changset diff可以讓您查找添加或刪除文本的修訂版本,但不會查看其中存在該文本的所有修訂版本的列表。爲此,您可以在每次修訂時預先創建每個文件的副本,但即使易於自動化,這也是一個很大的空間。
如果您正在尋找特定的修訂版本,以確保您熟悉hg bisect
,那麼另一種選擇是。
hg bisect --command "grep -s CHEESE" # might need to reverse the exit code of grep -s
儘管這更新您的工作目錄,其hg grep
並不:所以,如果你想找到具有字符串CHEESE
你可以做類似的第一次修訂它可以自動爲您二進制搜索。
你看過RhodeCode了嗎? - http://demo.rhodecode.org/
你在尋找什麼類型的功能?只需搜索提交消息? – 2010-11-26 21:35:45