我正在尝试为 git 存储库自动化 deb 包构建器,作为其中的一部分,我想获得一堆提交注释(自上一个包发布以来)并将它们放入debian/changelog
新版本的多个注释中。
我正在使用dch
“批处理模式”,如下所示:
dch -v ${RELEASE_VER} --distribution stable "comment"
但这仅适用于一条评论。如果我多次运行此命令,我会得到多个版本条目。
手册dch
页说:
如果在命令行上给出了更改的文本,debchange 将以批处理模式运行并简单地添加文本,并根据需要换行
我不确定“必要时换行”是什么意思,但如果作为第一个非选项参数传递的注释文本包含新行,dch
将从文本中删除新行并将其作为单个注释。
答案1
dch
旨在一次处理一个评论。当您向变更日志添加更改时,只需运行
dch -v ${RELEASE_VER} "comment"
多次(该-v ${RELEASE_VER}
部分仅在第一次时需要)。这将建立一个带有标题目标的更改列表UNRELEASED
;这是标记dch
用来决定应该向现有列表添加新评论,而不是开始一个新块。 “必要时换行”意味着dch
如果单个评论太长,将会自动换行。
完成后,要求dch
使用适当的发行版“发布”变更日志:
dch -r --distribution stable ignored
该ignored
部分就在那里,因此dch
不会打开编辑器来完成更改日志。这会将UNRELEASED
部分替换为stable
,并将更新页脚(包含日期和时间)。
如果您的所有包装均采用git
,您可能会发现gbp dch
更合适(在git-buildpackage
);它可以建立一个完整的debian/changelog
使用提交消息。