使用 knit 更新 BOSH 版本

Update BOSH releases using knit

我正在使用不同的 BOSH 版本,即根据我的要求进行调整的 jumpbox-boshrelease。 必须维护这些版本。 为此,我想从社区版本下载更新并将我自己的修改合并到这个存储库中。

我刚刚尝试使用 knit tool 来执行此操作。但是,我不明白它应该如何工作。 出于测试目的,我只对 README.md 进行了微小的更改(我添加了一行)。

我的 starting-versions.yml 看起来像这样:

---
starting_versions:
- version: 0
  ref: "master"
- version: 1
  ref: "master"
  patches:
  - "~/knit-test/test-knit.patch"

补丁文件应该是git补丁文件吗? 我尝试使用 git 补丁文件和包含所有更改的文件。 我总是收到以下错误:

$ knit --repository-to-patch ~/knit-test/jumpbox-boshrelease --patch-repository ~/knit-test/jumpbox-boshrelease-mod --version 1.0.1
Already on 'master'
usage: git submodule [--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>]
or: git submodule [--quiet] status [--cached] [--recursive] [--] [<path>...]
or: git submodule [--quiet] init [--] [<path>...]
or: git submodule [--quiet] deinit [-f|--force] [--] <path>...
or: git submodule [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference <repository>] [--merge] [--recursive] [--] [<path>...]
or: git submodule [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
or: git submodule [--quiet] foreach [--recursive] <command>
or: git submodule [--quiet] sync [--recursive] [--] [<path>...]

```

我不确定 knit 应该如何工作,文档很少:smile:

此行为是一个可以跟踪的错误 on github。 该软件假定每个存储库都使用也将被修补的子模块。但是,我不使用此存储库中的任何子模块。

我们无法使用最新版本的 knitgit 版本 2.13.1 重现此问题,您使用的是什么版本的 gitknit ?我们的初始版本如下所示:

---
starting_versions:
- version: 0
  ref: "master"
- version: 1
  ref: "master"
  patches:
  - 0001-Testing.patch

请注意补丁文件的起始路径-versions.yml是相对于指定的patch-repository命令行标志。