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

oro*_*aki 1 mercurial tortoisehg

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

顺便说一下,我需要通过命令行完成这一切,因为我不打算在我的Linux服务器上使用Tortoise HG.

任何帮助深表感谢.

Joh*_*don 8

你想要archive我想的选择......

尝试:

hg help archive
Run Code Online (Sandbox Code Playgroud)

您可以将存档导出为文件,也可以导出为tar/zip/etc.

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

Mercurial似乎没有很多选项来操作远程存储库,而不是clone相关命令.


Ry4*_*ase 6

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

在服务器上:

hg clone ssh://host//path/to/dev/repo
Run Code Online (Sandbox Code Playgroud)

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

[hooks]
changegroup = hg update
Run Code Online (Sandbox Code Playgroud)

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

hg push ssh://server/path/to/deployrepo
Run Code Online (Sandbox Code Playgroud)

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


bas*_*ero 5

如果您想要一个没有所有存储库数据的输出目录,只需在克隆后删除 .hg 目录即可。