登录
首页 >  Golang >  Go问答

使用SSH连接和Mercurial进行导入的步骤

来源:stackoverflow

时间:2024-03-07 17:06:26 373浏览 收藏

一分耕耘,一分收获!既然都打开这篇《使用SSH连接和Mercurial进行导入的步骤》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

是否可以使用 Mercurial 和 ssh 导入模块?

我发现很少有关于在 go 中使用 Mercurial 的信息,而且我发现的很少是在 http 中使用的。


解决方案


简短的回答是肯定的。

go help importpath 或可用的 here 显示的文本描述了如何设置导入路径以暗示特定的版本控制系统。有些网站是预先知道的:

一些常见的代码托管站点具有特殊语法:
[列表被剪掉,但 github 暗示使用 git 协议,launchpad 暗示 bazaar,等等]

对于托管在其他服务器上的代码,导入路径可以使用版本控制类型进行限定,或者 go 工具可以通过 https/http 动态获取导入路径,并从 html 中的 标记发现代码所在的位置。

因此,如果您无权访问或控制此类 标记,则应使用显式指定的 vcs 进行导入:

...表单的导入路径

repository.vcs/path

使用指定的版本控制系统指定给定的存储库(带或不带 .vcs 后缀),然后指定该存储库内的路径。

也就是说,要告诉 go get 它必须使用 mercurial 协议来托管 example.com,您可以使用:

import "example.com/me.hg/repo"

或者:

import "example.com/me/repo.hg"

其中 .hg 表示使用 mercurial。

一旦您选择了特定的 vcs,事情就会变得有点棘手:

当版本控制系统支持多种协议时,下载时会依次尝试每种协议。例如,git 下载尝试使用 https://,然后尝试使用 git+ssh://。

go vcs 导入器的 source code 有详细信息。 mercurial 存储库导入首先尝试 https,然后尝试 ssh

如果你可以使用标签,可以提供更多细节,这样就可以避免导入路径中相对笨拙的.hg

如果导入路径不是已知的代码托管站点,并且也缺少版本控制限定符,则 go 工具会尝试通过 https/http 获取导入,并在文档的 html 中查找 标记。

如果您要实现对请求页面的 响应,请阅读其余部分的全部,因为接下来会说:

使用模块时,会识别 go-import 元标记的附加变体,并且比那些列出的版本控制系统更受青睐。该变体使用“mod”作为内容值中的 vcs,如下所示:

此标记表示从 url https://code.org/moduleproxy 上提供的模块代理中获取路径以 example.org 开头的模块。有关代理协议的详细信息,请参阅“go help goproxy”。

以上就是《使用SSH连接和Mercurial进行导入的步骤》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>