1
我正在嘗試編寫一個小的Mercurial擴展,它給出了存儲在存儲庫中的對象的路徑,它會告訴你它的修訂版本。到目前爲止,我正在從WritingExtensions article的代碼,我有這樣的事情:如何從Mercurial插件訪問與對象相關的信息?
cmdtable = {
# cmd name function call
"whichrev": (whichrev,[],"hg whichrev FILE")
}
和whichrev功能幾乎沒有代碼:
def whichrev(ui, repo, node, **opts):
# node will be the file chosen at the command line
pass
因此,例如:
hg whichrev text_file.txt
將調用whichrev函數並將節點設置爲text_file.txt
。通過使用調試器,我發現我可以訪問filelog對象,通過使用這樣的:
repo.file("text_file.txt")
但我不知道我應該爲了獲得去的file.I的SHA1有一種感覺,我可能沒有正確的功能。
給定一個跟蹤文件的路徑(該文件可能會或可能不會顯示爲在hg status
下修改),如何從我的擴展中獲取它的sha1?
你是什麼意思,通過None而不是。拿到工作拷貝的。「?不是foo文件的路徑嗎? – Geo
地理:我指的是'changeid'。當你傳遞'None'時,你會找回反映工作副本的對象。 「。」是你工作副本的第一位父母。 –
我將如何參考特定修訂? N-1點? – Geo