首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Go包设置Mercurial存储库

为Go包设置Mercurial存储库
EN

Stack Overflow用户
提问于 2012-09-13 18:21:17
回答 1查看 1.4K关注 0票数 3

我正在努力为go包设置一个本地Mercurial存储库。

所有mercurial包目录都可以位于以下url下:

代码语言:javascript
复制
https://server.example.com/go-packages/

我可以通过以下方式克隆包:

代码语言:javascript
复制
hg clone https://server.example.com/go-packages/packagename

这很好用。

当我想要使用go命令行安装软件包时:

代码语言:javascript
复制
go get server.example.com/go-packages/packagename

我得到以下错误:

代码语言:javascript
复制
package server.example.com/go-packages/packagename: unrecognized import path "server.example.com/go-packages/packagename"

但是当我按照http://golang.org/cmd/go/中的解释这样做时:

代码语言:javascript
复制
go get server.example.com/go-packages/packagename.hg

它工作得很完美。

在上面的文档中,他们谈到了<meta>标志。因此,我创建了一个包含以下条目的index.html:

代码语言:javascript
复制
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta name="go-import" content="import-prefix hg repo-root">
        <title>packagename</title>
    </head>
    <body>
        <h1>packagename</h1>
    </body>
</html>

更新:

当我执行wget -O- https://server.example.com/go-packages/packagename/?go-get=1 --no-check-certificate时,我会得到:

代码语言:javascript
复制
!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta name="go-import" content="import-prefix hg repo-root">
        <title>packagename</title>
    </head>
    <body>
        <h1>packagename</h1>
    </body>
</html>

更新2

我发现,我的内容是错误的(复制粘贴错误),现在我将其更改为:

代码语言:javascript
复制
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta name="go-import" content="server.example.com/go-packages/packagename hg https://server.example.com/go-packages/packagename" />
        <title>packagename</title>
    </head>
    <body>
        <h1>packagename</h1>
    </body>
</html>

其中,go-packages是包含mercurial存储库packagename的目录。

go get server.example.com/go-packages/packagename仍然不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-13 19:00:14

在查看了this issue (以及附加的code review)和this thread之后

  • 确保您的“- prefix hg repo-
    • ”遵循正确的格式导入别名前缀必须是使用"go get".
    • The获取的包的前缀或完全匹配完整的repo- root必须是包含方案但不包含".vcs“的存储库的完整URL根qualifier.
    • The vcs是"git”、"hg“、"svn”、etc.

之一

  • 确保从https://<import>?go-get=1获取的页面确实是您的index.html页面(而不是index.htm或任何其他DirectoryIndex指令,例如,如果这是在httpd.conf文件中设置的)

如果导入别名前缀与导入不完全匹配,则在声明的根(不需要是域的根)处执行另一个HTTP fetch。

例如,假设"camlistore.org/pkg/blobref“在其HTML头中声明:

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

https://stackoverflow.com/questions/12404109

复制
相关文章

相似问题

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