Mercurial - 如何将您的回购源导出到生产站点?

时间:2010-06-14 15:38:32

标签: mercurial tortoisehg

我尝试通过打开我的回购更改日志在Tortoise HG中使用archive。这看起来不像SVN的export命令,我可以将远程存储库导出到当前目录。我使用它来获取我的生产源的干净副本(没有注释和存储库数据)。我怎么能在HG做这样的事情?或者,我应该只使用克隆并手动处理与repo相关的数据吗?

顺便说一句,我需要通过命令行完成所有操作,因为我不打算在我的Linux服务器上使用Tortoise HG。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:8)

我想要archive选项......

尝试:

hg help archive

您可以将存档导出为文件或tar / zip /等。

关键是,通过存档,您可以在仓库中开始并指定目的地,而在您从目的地开始的subversion中指定目标,并指定仓库的位置。

除了clone和相关命令之外,Mercurial似乎没有很多操作远程存储库的选项。

答案 1 :(得分:6)

正如其他回复指出hg archive可以做你想要的 - 它会做档案文件或只是文件布局,但如果你可以在服务器上运行mercurial,我可能建议让服务器成为克隆,有一个钩子,每当收到新的变更集时更新?只要您不在实时服务器上进行编辑,就不会出现合并冲突,因此这是一个安全的操作。

在服务器上:

hg clone ssh://host//path/to/dev/repo

并在服务器的.hg/hgrc文件中添加这些行

[hooks]
changegroup = hg update

然后,当您更新dev repo以进行部署时,您只需执行以下操作:

hg push ssh://server/path/to/deployrepo

然后你可以从你的仓库推送到你的服务器,它会自动更新。

答案 2 :(得分:4)

如果您希望输出目录不含所有存储库数据,只需在克隆后删除.hg目录。