首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取mercurial存储库提示的最好方法是什么?

获取mercurial存储库提示的最好方法是什么?
EN

Stack Overflow用户
提问于 2010-06-25 23:28:57
回答 2查看 830关注 0票数 3

我想用mercurial存储库做与svn export REMOTE_URL相当的工作。最后,我想要的是远程URL处的存储库的未版本化快照,但不将所有变更集克隆到我的本地计算机上。

此外,我还希望能够在远程存储库中指定一个标记来从中选取它。如果不是很明显,我正在构建一个发布管理工具,它从规范的mercurial存储库中提取信息来构建一个发布文件,但现在速度很慢,因为一些项目提交了大型的、多版本的二进制文件。

这个是可能的吗?我们该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-25 23:34:55

通常更容易(如果远程HG正在使用hgweb接口),只需在浏览器中访问存储库并下载技巧修订版的.tgz / .zip / .bz2。如果远程HG支持此功能,您将看到这些链接。

如果你想要这个存储库,你需要当前tip中的所有修订版才能让它正常工作。

hg clone有一些选项允许您获取某个版本的存储库,但没有(我能找到的)允许您仅获取提示版本的选项。实际上,您所要求的是repo的快照。

快照编辑:获取快照

代码语言:javascript
复制
hg clone http[s]://url.to.repo repo.hg
cd repo.hg
hg archive ../repo-snapshot
cd ..
rm -rf repo.hg

快照现在位于repo-snapshot中。

是的,这确实需要首先克隆repo,这就是为什么我建议查看远程hgweb是否支持任何特定版本的即时下载。如果是这样,你的问题就用curl或wget之类的东西来解决了,而不是HG。

如果没有,最好让原始repo 'live‘,因为您可以稍后通过hg pull再次更新它,然后创建未来版本的另一个快照。这避免了克隆时必须从头开始,特别是对于具有大量更改的大型存储库。

此外,它以Linux为中心,但您得到了要点。当然,根据需要将https替换为所需的协议。

票数 3
EN

Stack Overflow用户

发布于 2010-06-25 23:54:11

有没有什么理由不能在本地机器上维护远程存储库的镜像(以您希望的频率在后台更新),然后让本地机器上的发布管理工具根据需要从本地克隆运行hg archive?如果你关心的是用户响应性,而不是总带宽/存储消耗,这将“慢”的部分抵消到你看不到的地方。

Tim Post指出,如果你有可用的hgweb CGI接口,你可以将其配置为拉下压缩的归档文件并解压缩它们(接口足够一致,你可以通过wget编写脚本),但如果你没有,核心Mercurial没有很多工具来帮助你,开发人员已经表示反对尝试将Mercurial转变为通用的rsync类型的客户端。

如果你不怕玩非官方的插件,你可以看看FTP Extension。然而,这将迫使您从服务器进行推送。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3119276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档