【问题标题】:avoid loosing custom change in vendored dependency when updating dependencies避免在更新依赖项时丢失 vendored 依赖项中的自定义更改
【发布时间】:2018-09-18 12:21:16
【问题描述】:

我有一个使用 dep 和 vendor 目录的 golang 项目。

出于某种原因,我不得不修改其中一个供应商依赖项的代码。 此更改无法推送到上游存储库

如何在不丢失更改的情况下不断更新我的 vendored 依赖项?

【问题讨论】:

  • 你不能。这两种理想存在必然的冲突。您可以做的最好的事情是在更新依赖项后重新应用您的更改,手动解决任何冲突。
  • @Flimzy 谢谢你的回答,我想我已经知道了......
  • 值得一提的是,可能有一些工具可以让您更轻松地完成这项任务。最简单的可能是只派生您的依赖项,然后在该存储库中处理任何合并冲突,而不是在您的 /vendor/ 文件夹中。这是否可行/容易取决于包的复杂性。还有其他补丁管理工具(我想到了被子)。 AFAIK,没有一个与 Go 生态系统干净地接口,但它可能会在其中插入一些东西。
  • @Flimzy 遗憾的是我不能分叉依赖项,因为我有另一个供应商的依赖项导入它......目前我将继续使用git cherry-pick 重新应用我的更改,看看如何它去
  • 这也是我通常采用的方法。祝你好运。

标签: git go dependency-management vendor


【解决方案1】:

创建一个 fork,当你的依赖更新时,rebase。

【讨论】:

    猜你喜欢
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    • 1970-01-01
    相关资源
    最近更新 更多