2012-05-11 67 views
7

有没有办法像在特定日期那样获取hg存储库的副本?从特定日期克隆hg目录

例如,在颠覆我会用:

svn checkout -r {2012-04-04} ... 

它会检查了修改,因为它出现在四月的第四位。

Git中的更复杂一些,但可以做到:

git checkout `git rev-list -n 1 --before="2012-04-04" master` 

你能在汞做同样的事情?

+0

使用Git,你可以做'GIT中检出主@ {} 2.days.ago'或'GIT中检出主@ {2012- 04-04}' – kassens

回答

17

编辑:我revsets的爱使我忽视了这个明显的答案:hg update --date 2012-04-04应该让你的tipmost修订截至该日)

如果你拥有了整个仓库克隆已经(日期规范似乎没有与clone工作),你可以做

hg update --rev "date('< 2012-04-04')" 

如果有一种可能性,即库有多个头/你想要的日期树枝,你必须并且在某些条件下更缩小它下降到正确的变更集:

hg update --rev "date('< 2012-04-04') and branch(v1.1)" 

查看hg help revsetshg help dates了解更多信息。

以后,如果你想回去给小费,只是

hg update 
+0

感谢 - 这解释了为什么我很难找到它,我一直在寻找一个与克隆 – kimon

+0

解决方案所以,显然,如果你从无到有,你需要首先'克隆'存储库,它给你最新的,然后通过调用'更新'到以前的版本来“降级”它。有点奇怪。 –