首页 文章

试图创建go.tools的本地回购,这是可以获得的

提问于
浏览
2

我在go封面工具中添加了一个新的开关(-xml)来生成一个可由Atlassian三叶草消费的XML文档,因此我们的go项目的竹版本可以报告简单的覆盖率统计 . 我希望使用go get <importpath>可以使用构建代理访问此本地版本 .

这些是我尝试过的步骤: - setup $ GOPATH - 创建$ GOPATH / src / stash.example.com / scm / x - cd $ GOPATH / src / stash.example.com / scm / x - git clone - 裸https://go.goolesource.com/tools然后基本上遵循将现有git项目导入存储的步骤,如https://confluence.atlassian.com/display/STASH/Importing+code+from+an+existing+project#Importingcodefromanexistingproject-ImportanexistingGitprojectintoStash所述

如果我然后'rm -rf tools'后跟'go get -d stash.example.com/scm/x/tools',我会收到“无法识别的导入路径stash.example.com/scm/x/tools” . 如果我输入'go get -d stash.example.com/scm/x/tools.git'(提供vcs提示去获取),它会起作用,但生成的子目录名为'test.git' . 在路径中提供vcs提示的替代方法是从存储服务器返回html中的<meta>标记,但我不知道如何创建它 .

我应该补充一点'cd $GOPATH/src/stash.example.com/scm/x''git clone http://user@stash.example.com/scm/x/tools.git'按预期创建tools子目录 .

我必须在防火墙内的本地服务器上托管这个,所以github不是一个选项 . 任何建议?

1 回答

  • 1

    curl http://stash.example.com/scm/x/tools 收益率是多少?什么服务器正在监听 stash.example.com ?通常, go get -able路径要么包含一个带有后缀的组件,该后缀表示所使用的修订控制系统(例如 example.com/repository.git/package ),要么在其中一个目录层中存在某个元标记,告诉 go get 获取源的位置 .

    go get 是一个不复杂的机制,如果我没记错的话,当服务器需要身份验证时,它不适用于git .

    有关导入路径如何与 go get 一起使用的相关文档,请查看here . 我'm not going to cite out of this as it'相当长,不太可能下降,您可以通过安装 godoc 并运行在本地计算机上检索它

    godoc -http=:8080 # or some other port
    

    然后指向您的浏览器

    http://localhost:8080/cmd/go/#hdr-Relative_import_paths.
    

相关问题