我正在尝试为 git 存储库自动化 deb 包构建器,作为其中的一部分,我想获得一堆提交评论(自上一个包发布以来)并将它们放入debian/changelog
新版本的多个评论中。
我正在使用这样的dch
“批处理模式”:
dch -v ${RELEASE_VER} --distribution stable "comment"
Run Code Online (Sandbox Code Playgroud)
但这仅适用于一条评论。如果我多次运行它,我会得到多个版本条目。
该dch
手册页说:
如果在命令行上给出更改的文本,debchange 将在批处理模式下运行并简单地添加文本,必要时使用换行符
我不确定“必要时使用换行符”是什么意思,但如果作为第一个非选项参数传递的注释文本包含新行,dch
将从文本中删除新行并将其作为单个注释。
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
使用提交消息。