Go 如何使用mercurial和SSH导入?
是否可以使用mercurial和ssh导入模块Go 如何使用mercurial和SSH导入?,go,mercurial,Go,Mercurial,是否可以使用mercurial和ssh导入模块 我在使用mercurial和go时发现的很少,我发现的很少是http。简短的回答是肯定的 “go help importpath显示的或可用的文本描述了如何设置导入路径以暗示特定的版本控制系统。”。有些地点是事先知道的: 一些常见的代码托管站点具有特殊语法: [列表被截断,但GitHub意味着使用Git协议,Launchpad意味着Bazaar,等等] 对于托管在其他服务器上的代码,导入路径可以使用版本控制类型限定,或者go工具可以通过https/
我在使用mercurial和go时发现的很少,我发现的很少是http。简短的回答是肯定的 “go help importpath显示的或可用的文本描述了如何设置导入路径以暗示特定的版本控制系统。”。有些地点是事先知道的: 一些常见的代码托管站点具有特殊语法:
[列表被截断,但GitHub意味着使用Git协议,Launchpad意味着Bazaar,等等] 对于托管在其他服务器上的代码,导入路径可以使用版本控制类型限定,或者go工具可以通过https/http动态获取导入路径,并从HTML中的标记中发现代码所在的位置 因此,如果您无法访问或控制此类
标记,则应使用明确指定的VCS导入:
。。。表单的导入路径
repository.vcs/path
使用命名的版本控制系统指定给定的存储库(带或不带.vcs后缀),然后指定该存储库中的路径
也就是说,要告诉go-get
它必须对主机example.com
讲Mercurial协议,您可以使用:
import "example.com/me.hg/repo"
或:
其中,.hg
表示使用Mercurial
一旦你选择了一家特定的风投公司,事情就会变得有点棘手:
当版本控制系统支持多个协议时,下载时会依次尝试每个协议。例如,Git下载尝试https://,然后Git+ssh://
Go VCS进口商的详细信息。Mercurial存储库导入请先尝试https
,然后尝试ssh
如果可以使用
标记,则可以提供更多详细信息,从而避免导入路径中相对笨拙的.hg
:
如果导入路径不是已知的代码宿主站点,并且缺少版本控制限定符,则go工具将尝试通过https/http获取导入,并在文档的HTML中查找标记
如果您正在实现对请求页面的
响应,请阅读本文的其余部分,因为下面会说:
当使用模块时,go import meta标记的另一个变体会被识别,并且比列出版本控制系统的变体更受欢迎。该变体使用“mod”作为内容值中的vcs,如中所示:
<meta name="go-import" content="example.org mod https://code.org/moduleproxy">
此标记表示从URL上可用的模块代理获取路径以example.org开头的模块。有关代理协议的详细信息,请参阅“go help goproxy”
<meta name="go-import" content="example.org mod https://code.org/moduleproxy">