9

有没有办法在特定日期获取 hg 存储库的副本?

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

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

它会检查 4 月 4 日出现的修订。

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

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

你能在 hg 中做同样的事情吗?

4

1 回答 1

20

编辑:我对 revsets 的热爱使我忽略了一个明显的答案:hg update --date 2012-04-04应该为您提供截至该日期的最新版本。)

如果您已经克隆了整个存储库(日期规范似乎无法使用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
于 2012-05-11T08:38:45.417 回答