我尝试在很多方面将某些文件更新为旧版本,但我还没有找到。 (不是永久性的,只是暂时更新以进行测试)
例如,SVN中的以下内容正常。
svn up -r 100 foo.cpp
U foo.cpp
但在Mercurial中,'up'命令不允许文件名参数。
只能在Mercurial中更新整个源代码树吗?
答案 0 :(得分:7)
您必须使用hg revert
:
hg revert -r 100 foo.cpp
请注意,这可以为您提供本地更改,如运行hg diff
。
有关详细信息,请参阅hg help revert
。
答案 1 :(得分:2)
Mercurial和其他DVCS从根本上不允许这样做。 CVS和Subversion都会跟踪您基于每个文件检出的修订版本。你可以有文件x的r1和文件y的r2。在DVC中,整个存储库都是单一版本,在Mercurial中,您可以使用hg id
查看。
正如@Tom指出你可以修改来自不同版本的文件,但是如果你想看到另一个版本没有显示更改,你需要在另一个克隆中执行update
(假设本地克隆使用硬盘)链接是(a)即时和(b)空间效率)这不是一件容易的事。