在“批处理模式”中向 debchange 添加多个注释?

Gus*_*uss 2 scripting deb

我正在尝试为 git 存储库自动化 deb 包构建器,作为其中的一部分,我想获得一堆提交评论(自上一个包发布以来)并将它们放入debian/changelog新版本的多个评论中。

我正在使用这样的dch“批处理模式”:

dch -v ${RELEASE_VER} --distribution stable "comment"
Run Code Online (Sandbox Code Playgroud)

但这仅适用于一条评论。如果我多次运行它,我会得到多个版本条目。

dch手册页说:

如果在命令行上给出更改的文本,debchange 将在批处理模式下运行并简单地添加文本,必要时使用换行符

我不确定“必要时使用换行符”是什么意思,但如果作为第一个非选项参数传递的注释文本包含新行,dch将从文本中删除新行并将其作为单个注释。

Ste*_*itt 5

dch旨在一次处理一个评论。当您向变更日志添加更改时,只需运行

dch -v ${RELEASE_VER} "comment"
Run Code Online (Sandbox Code Playgroud)

多次(-v ${RELEASE_VER}仅第一次需要该部分)。这将建立一个带有标题定位的更改列表UNRELEASED;这是标记dch用来决定它应该向现有列表添加新评论,而不是开始一个新块。“必要dch时换行”意味着如果它太长,它将包装您的单个评论。

完成后,要求dch使用适当的发行版“发布”变更日志:

dch -r --distribution stable ignored
Run Code Online (Sandbox Code Playgroud)

ignored部分在那里,因此dch不会为您打开编辑器来完成更改日志。这将用 替换UNRELEASED部分stable,并将更新页脚(带有日期和时间)。

如果您的所有包装都在 中git,您可能会发现gbp dch更合适的(在 中git-buildpackage);它可以建立一个完整的debian/changelog使用提交消息。