克隆特定日期的hg目录

kim*_*mon 8 mercurial

有没有办法获得hg存储库的副本,因为它是在特定日期?

例如,在颠覆中我会使用:

svn checkout -r {2012-04-04} ...
Run Code Online (Sandbox Code Playgroud)

它将检查4月4日出现的修订版.

在git中它有点复杂,但可以做到:

git checkout `git rev-list -n 1 --before="2012-04-04" master`
Run Code Online (Sandbox Code Playgroud)

你能用hg做同样的事情吗?

sha*_*tor 19

(编辑:我对revsets的热爱使我忽略了明显的答案:hg update --date 2012-04-04应该在那个日期给你最新的修改.)

如果您已经克隆了整个存储库(日期规范似乎不适用clone),您可以这样做

hg update --rev "date('< 2012-04-04')"
Run Code Online (Sandbox Code Playgroud)

如果存储库有可能在您想要的日期有多个头/分支,那么您必须在更多条件下使用AND来将其缩小到正确的变更集:

hg update --rev "date('< 2012-04-04') and branch(v1.1)"
Run Code Online (Sandbox Code Playgroud)

退房hg help revsetshg help dates了解更多信息.

稍后,如果你想回到小费,只是

hg update
Run Code Online (Sandbox Code Playgroud)