【问题标题】:Using go modules with Plastic SCM使用带有塑料 SCM 的 go 模块
【发布时间】:2022-01-19 02:45:28
【问题描述】:

当使用 Plastic SCM 作为版本控制系统时,如何设置私有 go 模块?

具体来说,我说的是当模块位于 PlasticSCM vcs 下时,使 go get 之类的命令起作用:

$ go get myorg.com/foo/bar

From the Go docs,内置工具只支持:

Bazaar      .bzr
Fossil      .fossil
Git         .git
Mercurial   .hg
Subversion  .svn

可能可行的一件事是启用Plastic GitServer,尽管我不确定如何将其托管在与Go 工具一起使用的远程URL myorg.com/foo/bar 上。但是,我正在运行 Plastic SCM Cloud Edition,它没有 GitServer 作为选项(只有企业版才有)。

所以我将其归结为以下选项:

  1. 为 Plastic SCM Enterprise 付费并启用 GitServer,然后通过一些代理或类似方式找出 go 模块链接
  2. 除了 Plastic SCM 之外,将 git 版本控制添加到 repo 并将其私有托管在 Github 上,并使用来自 Plastic 的有点麻烦且非自动化的 GitSync 来保持它们同步
  3. 欢迎提出建议...?

【问题讨论】:

    标签: git go plasticscm


    【解决方案1】:

    虽然不如内置的 go 模块系统好,但仍然支持 vendoring,就像 1.11 之前的日子一样。供应商与 go 模块互操作,因此您只需为您的私有依赖项执行此操作。

    这确实需要您在存储库中使用其他工具或脚本来下载依赖项。您还可以使用 git 子模块的 Plastic SCM 等效项。

    【讨论】:

    • 感谢您的回复,但这听起来绝对是一个不合格的选择
    • 第四个选项是自己实现Plastic SCM支持,代码库是开源的,毕竟是用go编写的。虽然我可以想象,由于时间限制,这不是你愿意追求的路线
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多