我試圖以許多方式更新一些文件到舊版本,但我還沒有找到。 (不是永久性的,只是暫時更新用於測試)在Mercurial中可以將特定目錄更新爲舊版本嗎?
例如,SVN中的以下內容是可以的。
svn up -r 100 foo.cpp
U foo.cpp
但是在Mercurial中,'up'命令不允許文件名參數。
只能在Mercurial中更新整個源代碼樹嗎?
我試圖以許多方式更新一些文件到舊版本,但我還沒有找到。 (不是永久性的,只是暫時更新用於測試)在Mercurial中可以將特定目錄更新爲舊版本嗎?
例如,SVN中的以下內容是可以的。
svn up -r 100 foo.cpp
U foo.cpp
但是在Mercurial中,'up'命令不允許文件名參數。
只能在Mercurial中更新整個源代碼樹嗎?
這從根本上被Mercurial和其他DVCSs拒絕。 CVS和Subversion都會跟蹤您在每個文件基礎上檢出哪個版本。你可以有文件x的r1和文件y的r2。在DVC中,整個存儲庫都是單一版本,在Mercurial中,您可以使用hg id
進行查看。
@Tom指出你可以修改不同版本的文件,但是如果你想看到另一個版本沒有變化,你需要在另一個克隆中執行update
(假設本地克隆使用硬鏈接(一)即時和(二)空間效率)這並不麻煩。
你不得不使用hg revert
:
hg revert -r 100 foo.cpp
請注意,這給你當地的變化,可以通過運行hg diff
可以看出。
有關更多信息,請參閱hg help revert
。
謝謝,但它與我想要的不同......是唯一的方法嗎? – JaycePark
使用'revert''有什麼問題? – Tom