在过去的某个阶段,我有一个 "foo.txt",它在Mercurial的源码控制下。然而,它现在已经被删除了。
当我不知道文件被删除的最后一次Mercurial修订版时,我如何恢复该文件?
如果你知道文件的确切路径,你可以做一些类似于.NET的工作。
hg log -l 1 path/to/foo.txt
这将显示你最后的变化集在哪里 foo.txt
所以你可以从这个版本恢复文件。
一旦你有了正确的修订版,你就可以简单地执行.NET技术。
hg revert -r <my revision> path/to/foo.txt
hg commit -m "add the foo.txt file again"
使用 revsets。
hg log -r "removes('path_to_file')"
在这里 path_to_file
可以是任何记载在 hg help patterns
包括精确路径、glob或正则表达式。