更改位置时如何更新导入

时间:2018-11-09 10:38:51

标签: go package

我看到在Go中,您可以像这样直接从Github导入软件包:

    $(groupElement).attr(“transform”, “matrix=(a,b,c,d,e,f)”)

我知道在导入行中看到的路径不是URL,而只是包所在的路径(通常相对于$ GOROOT / src / pkg或$ GOPATH / src)。因此,heredoc包很可能位于$ GOPATH / src / github.com / MakeNowJust / heredoc目录中。

现在,让我们说包开发人员决定将代码存储库迁移到Bitbucket。因此,现在库URL为import "github.com/MakeNowJust/heredoc" 。他还向代码库添加了一些新功能。

我的问题是,您将如何获得更新的代码?

我能想到的唯一解决方案是将所有导入更改为新URL,然后再次执行bitbucket.com/muchMoreCoolerName/heredoc。但是更改库更新代码似乎有些不便。

1 个答案:

答案 0 :(得分:1)

如果仅使用go get然后导入,则无法解决,您将不得不更新导入路径以获取新代码。但是,如果您使用vendoring(一种保持对代码的依赖关系并将其与它们一起分发的技术),则至少在进行更新之前,您将与之隔离。当您要更新时,可以使用供应商功能来保留旧的导入路径,但可以与其他存储库同步。

坦率地说,无论如何,我仍然会使用供应商,只是在我决定更新时进行搜索并替换旧的导入路径,这并不难。

编辑(如果尚未转换到模块),也可以使用dep来管理依赖项。