2010-09-21 26 views
5

假设我在另一台计算机上有一个存储库,其整个历史记录都足以在本地进行克隆。如果我无意将任何更改提交回该存储库,则没有理由不能仅仅拍摄该提示的快照。有没有办法做到这一点,或者我会找到自己解决这个与rsync黑客或类似的东西?我可以在不做完整克隆的情况下获取mercurial存储库的技巧快照吗?

如果有帮助,在我的情况下,远程存储库是由mercurial-server通过ssh隧道提供的。

+0

我的最终解决方案是让服务器始终通过钩子执行'hg update'来始终保持其存储库始终处于最新状态。从这里开始,执行rsync操作非常简单,不包括。 hg目录。它遭受了rsync运行时有人可能登记的潜在风险,但我的商业案例的细节使这种情况极不可能,并且很容易察觉。 – Sniggerfardimungus 2010-09-23 20:28:52

回答

2

您可以使用hg archive为任何修订版本创建未版本化的归档文件。它不适用于ssh URL,因此您必须在远程主机上运行它,然后将存档返回。

+0

我想我会在服务器上添加一项服务,以便按需创建存档并通过scp使其可用。 – Sniggerfardimungus 2010-09-22 18:22:04

3

Mercurial的标准CGI脚本可让您下载任何修订版的zip和tarball。请参阅web.allow_archive setting。你也可以看到hg serve,它和下面的CGI脚本运行相同的代码。

相关问题