如何使用Mercurial从特定修订版克隆到最后修订版?

时间:2015-01-05 09:42:10

标签: mercurial

在Mercurial中,如何使用?
从特定修订版克隆到最后修订版 例如,repo A有一个从变更集0到变更集100的行历史记录。我想将A从我的本地仓库克隆到变更集90到最后一个(100)。

通过帮助,我注意到-r标志,但只能克隆1个特定的变更集。 如果没有办法,可以解释为什么它没有实现?它被认为是一件坏事吗?

感谢。

1 个答案:

答案 0 :(得分:2)

你不能。

项目的当前状态是从开始到特定变更集的所有变更集,如果不重写存储库的历史记录以永久删除它们,则无法修剪较旧的变更集。这也会使存储库与包含旧历史记录的原始文件不兼容。

简而言之,您必须执行以下操作之一:

  1. 修剪旧历史,永久摆脱它,这将使得无法推送/拉动仍具有该历史的原始克隆
  2. 与历史一起生活
  3. 指定revsets的clone命令的参数只允许您设置上限。这可能允许您避免整个分支,如果它们没有合并到您最终克隆的分支中,但克隆命令将始终从一开始就克隆所有内容。

    对于您克隆的每个变更集,每个前任都将被克隆,这是无法避免的。