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

问题描述 投票:2回答:1

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

这些是我尝试过的步骤:

- setup $GOPATH
- created $GOPATH/src/stash.example.com/scm/x
- cd $GOPATH/src/stash.example.com/scm/x
- git clone --bare 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://[email protected]/scm/x/tools.git'按预期创建tools子目录。

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

git go bitbucket-server
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。

看看here有关导入路径如何与go get一起使用的相关文档。我不打算引用它,因为它很长,不太可能下降,你可以通过安装godoc并运行在本地机器上检索它

godoc -http=:8080 # or some other port

然后将浏览器指向

http://localhost:8080/cmd/go/#hdr-Relative_import_paths.
© www.soinside.com 2019 - 2024. All rights reserved.