我在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 回答
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
并运行在本地计算机上检索它然后指向您的浏览器