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