gpt4 book ai didi

http - Mercurial 文件协议(protocol)

转载 作者:可可西里 更新时间:2023-11-01 16:25:25 25 4
gpt4 key购买 nike

Mercurial 是否有我们可以浏览文件/文件夹/分支而不是克隆/拉取变更集的 HTTP 协议(protocol)?

我见过一些使用 TortoiseHG WebServer 和访问 http://localhost:8080/ 的东西使用浏览器,但在 https://bitbucket.org/ 上使用项目时会提供完全不同的 HTML (至少我找不到相同的表示)。

更新 HttpCommandProtocol文档仅描述变更集,但不描述文件/文件夹。因此,任务是只为特定修订版(例如提示“稳定”)和文件列表下载少数文件。但是我不想为此下载完整的存储库。

欢迎使用非 HTTP 协议(protocol),但条件相同:不要下载完整的存储库。

更新 2 hgweb 提供静态 HTML 和文件。对于不同的 hgweb 版本,是否始终使用相同的 HTML fromat? bitbucket.org 怎么样?有什么共同的协议(protocol)吗?

最佳答案

正如您已经注意到的,HttpCommandProtocol 定义了存储库信息和变更集的交换 - 它确保您可以从 HTTP 服务的任何存储库克隆/推送/拉取。但是 AFAIK 没有关于如何浏览 repo 的标准(例如,获取某个修订版的单个文件)。

您必须适应您选择的托管系统使用的任何 URL 方案(您还注意到,hgwebbitbucket 有不同的方案)。根据您的用例,您可以定义自己的文件访问协议(protocol)并将其提供给转换器。

例如,您可能希望使用此方案访问文件:

<repo-url>/<rev>/<path>

在哪里<repo-url>是您用于克隆/推/拉的 URL。在实践中,您将使用这样的 URL:

https://bitbucket.org/user/repo/<rev>/<path>
https://hgwebhost.org/.../repo/<rev>/<path>

显然这些是不存在的虚拟 URL。这就是您的转换器的用武之地:检查托管系统类型并相应地转换 URL:

https://bitbucket.org/user/repo/raw/<rev>/<path>
https://hgwebhost.org/.../repo/raw-file/<rev>/<path>

如果您的转换器知道 bitbuckethgweb,那么它已经可以与大量存储库一起工作。

关于http - Mercurial 文件协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5049054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com