如何使用Mercurial从特定版本克隆到最后一个版本?

如何使用Mercurial从特定版本克隆到最后一个版本?,mercurial,Mercurial,在Mercurial中,如何使用? 例如,回购A具有从变更集0到变更集100的单行历史记录。我想将A克隆到我的本地回购,从变更集90克隆到最后一个(100) 查看帮助时,我注意到-r标志,但它只克隆了一个特定的变更集。 如果没有办法做到这一点,有人能解释为什么它没有实施吗?这被认为是一件坏事吗 谢谢。你不能 项目的当前状态是从时间开始到特定变更集的所有变更集,如果不重写存储库的历史以永久删除旧的变更集,则无法修剪旧的变更集。这也会使存储库与包含旧历史的原始存储库不兼容 简而言之,您必须执行以下操

在Mercurial中,如何使用?
例如,回购A具有从变更集0到变更集100的单行历史记录。我想将A克隆到我的本地回购,从变更集90克隆到最后一个(100)

查看帮助时,我注意到
-r
标志,但它只克隆了一个特定的变更集。 如果没有办法做到这一点,有人能解释为什么它没有实施吗?这被认为是一件坏事吗

谢谢。

你不能

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

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

  • 删减旧的历史,永久地摆脱它,这将使它不可能推/拉与原始克隆,仍然有历史
  • 活在历史中
  • 因此,用于指定revset的clone命令的参数仅允许您设置上限。这可能允许您避免整个分支,如果它们没有合并到最终克隆的分支中,但clone命令将始终从一开始克隆所有内容


    对于您克隆的每个变更集,每个前置项都将被克隆,这是不可避免的。

    您可以查看一下,@manlio谢谢,这非常有帮助。