Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Mercurial hg捆绑和hg导出与合并?_Mercurial_Merge - Fatal编程技术网

使用Mercurial hg捆绑和hg导出与合并?

使用Mercurial hg捆绑和hg导出与合并?,mercurial,merge,Mercurial,Merge,您将在何时使用hg export和hg bundle 这些命令列在Mercurial quick start上,但我们不清楚何时使用它们 目前,我们通过拥有不同的存储库并在它们之间进行合并来管理开发。即: cd myapp-1.01 hg pull ../myapp-1.0 hg merge hg commit hg push 您什么时候会使用导出和捆绑而不是我们使用的方法? Bundle更适合将指定范围的变更集保存到文件中以便于传输(例如,通过电子邮件将它们发送到其他地方的不同存储库) 从h

您将在何时使用
hg export
hg bundle

这些命令列在Mercurial quick start上,但我们不清楚何时使用它们

目前,我们通过拥有不同的存储库并在它们之间进行合并来管理开发。即:

cd myapp-1.01
hg pull ../myapp-1.0
hg merge
hg commit
hg push
您什么时候会使用导出和捆绑而不是我们使用的方法?

  • Bundle更适合将指定范围的变更集保存到文件中以便于传输(例如,通过电子邮件将它们发送到其他地方的不同存储库)

    hg--help bundle

    然后可以创建包文件 用常规方法转移 并应用到另一个存储库 解绑或拉动命令。这是 有用的 当无法使用直接推拉或导出整个 存储库是不可取的

  • 导出似乎为某些范围的变更集生成了一个标题+差异列表,但是帮助文件没有提到这是否有助于将它们自动传输到其他地方

    此外,导出的文件输出参数可根据修订号等进行格式化,这使我相信该命令通常用于保存修订,使您更容易查看修订(作为文件)


主要区别在于目标存储库中是否存在父变更集。例如,如果您的源回购有以下内容:

[A]--[B]---[C]
[A]--[B]
您的目的地有:

[A]--[B]---[C]
[A]--[B]
如果你想发送[C],你可以使用bundle(或push/pull)

但是,如果目标存储库具有:

[A]--[D]
如果要添加[C],则必须使用导出和导入


简而言之:
bundle
用于您希望进行推/拉操作但没有良好的网络路径时,
export
用于您希望发送变更集的逻辑内容而不是特定内容时,确切的变更集。

为了补充@Ry4an所说的内容:一个捆绑包将把变更集插入原始存储库中的相同位置,这意味着在新存储库中,您将(通常)拥有一个新的头。