我尝试archive
通过打开我的 repo 更改日志在 Tortoise HG 中使用。这似乎不像 SVN 的export
命令,我可以简单地将远程存储库导出到当前目录。我使用它来获取我的生产源的干净副本(没有注释和存储库数据)。我怎样才能在 HG 中做这样的事情?或者,我应该只使用克隆并手动处理与 repo 相关的数据吗?
顺便说一句,我需要通过命令行来完成这一切,因为我不会在我的 Linux 服务器上使用 Tortoise HG。
任何帮助深表感谢。
我尝试archive
通过打开我的 repo 更改日志在 Tortoise HG 中使用。这似乎不像 SVN 的export
命令,我可以简单地将远程存储库导出到当前目录。我使用它来获取我的生产源的干净副本(没有注释和存储库数据)。我怎样才能在 HG 中做这样的事情?或者,我应该只使用克隆并手动处理与 repo 相关的数据吗?
顺便说一句,我需要通过命令行来完成这一切,因为我不会在我的 Linux 服务器上使用 Tortoise HG。
任何帮助深表感谢。
你想要archive
我认为的选项...
尝试:
hg help archive
您可以将存档仅导出为文件,或导出为 tar/zip/etc。
关键是归档时,您从 repo 开始并指定目标,而在 subversion 中,您从目标开始并指定 repo 的位置。
clone
除了相关命令之外,Mercurial 似乎没有很多选项可用于在远程存储库上进行操作。
正如其他回复所指出的那样hg archive
可以做你想做的事——它会做存档文件或只是一个文件布局,但如果你可以在服务器上运行 mercurial,我可能会建议让服务器成为一个克隆,并带有一个挂钩,每当有新的变更集时就会更新收到了吗?只要您不在实时服务器上进行编辑,就不会出现合并冲突,因此这是一个安全的操作。
在服务器上:
hg clone ssh://host//path/to/dev/repo
并在服务器的.hg/hgrc
文件中添加这些行
[hooks]
changegroup = hg update
然后,当您更新开发存储库以进行部署时,您只需执行以下操作:
hg push ssh://server/path/to/deployrepo
然后你可以从你的仓库推送到你的服务器,它会自动更新。
如果您想要一个没有所有存储库数据的输出目录,只需在克隆后删除 .hg 目录即可。