什么时候你会使用hg export
和hg bundle
?使用Mercurial hg bundle和hg export vs合并?
这些命令列在Mercurial快速入门guide上,但我们不清楚何时使用它们。
目前我们通过拥有不同的资源和合并来管理开发者。即:
cd myapp-1.01
hg pull ../myapp-1.0
hg merge
hg commit
hg push
什么时候你会使用export和bundle而不是我们使用的方法?
什么时候你会使用hg export
和hg bundle
?使用Mercurial hg bundle和hg export vs合并?
这些命令列在Mercurial快速入门guide上,但我们不清楚何时使用它们。
目前我们通过拥有不同的资源和合并来管理开发者。即:
cd myapp-1.01
hg pull ../myapp-1.0
hg merge
hg commit
hg push
什么时候你会使用export和bundle而不是我们使用的方法?
主要区别在于父变更集是否存在于目标存储库中。例如,如果你的源回购有这样的:
[A]--[B]---[C]
和你的目的地有这样的:
[A]--[B]
,你想送[C]你可以使用包(或只是推/拉)。
但是,如果你的目标资源库有:
[A]--[D]
,你想[C]添加到它,你不得不使用导出和导入。
简而言之:bundle
适用于当您要推/拉但没有良好的网络路径时,export
适用于当您要发送变更集的逻辑内容而不是特定的确切变更集。
包是更适合于变更的指定范围保存到轻松传送文件(如,通过电子邮件发送它们被应用到不同的存储库中的其他地方)。
从hg --help bundle
:
束文件然后可以 使用常规手段 转移并施加到另一个存储库与 的分类定价或拉命令。这是 有用 当直接推入和拉动不可用时或者导出整个 存储库是不可取的。
导出似乎为某些范围的变更集生成标题+差异列表,但helpfile没有提及这是否有助于自动将它们转移到其他地方。
此外,导出的文件输出参数是根据修订版号等格式化的,这使我相信这个命令通常用于保存修订,使您更容易查看它们(作为文件)。
补充@ Ry4an所说的话:一个bundle会将变更集插入到原始仓库中的相同位置,这意味着在新的仓库中(通常)会有一个新的仓库。 – Alex 2013-01-11 09:00:26