2011-09-16 58 views
4

我試圖以許多方式更新一些文件到舊版本,但我還沒有找到。 (不是永久性的,只是暫時更新用於測試)在Mercurial中可以將特定目錄更新爲舊版本嗎?

例如,SVN中的以下內容是可以的。

svn up -r 100 foo.cpp 
U foo.cpp 

但是在Mercurial中,'up'命令不允許文件名參數。

只能在Mercurial中更新整個源代碼樹嗎?

回答

2

這從根本上被Mercurial和其他DVCSs拒絕。 CVS和Subversion都會跟蹤您在每個文件基礎上檢出哪個版本。你可以有文件x的r1和文件y的r2。在DVC中,整個存儲庫都是單一版本,在Mercurial中,您可以使用hg id進行查看。

@Tom指出你可以修改不同版本的文件,但是如果你想看到另一個版本沒有變化,你需要在另一個克隆中執行update(假設本地克隆使用硬鏈接(一)即時和(二)空間效率)這並不麻煩。

7

你不得不使用hg revert

hg revert -r 100 foo.cpp 

請注意,這給你當地的變化,可以通過運行hg diff可以看出。

有關更多信息,請參閱hg help revert

+0

謝謝,但它與我想要的不同......是唯一的方法嗎? – JaycePark

+0

使用'revert''有什麼問題? – Tom

相關問題