在版本控制中使用源代码时,我想部分地自动创建 GNU 样式的 ChangeLog 条目。一次使用add-changelog-entry-other-window
一个文件,您必须访问该文件才能使用它。
相反,我希望看到一些命令可以输出diff -u -p
(或与 VC 模式集成以便它可以处理svn diff
等)并一次创建所有骨架条目。
例如,如果svn status
显示
D file1.c
M file2.c
A file3.c
该命令将创建
2009-09-05 My Name <my.email>
* file1.c: Removed.
* file2.c: WRITE YOUR CHANGES HERE
* file3.c: New.
更好的是,如果它可以在一定程度上解析某些语言的更改文件,那么它可以提供:
* file2.c (new_function): New function.
(deleted_function): Removed.
(changed_function): WRITE YOUR CHANGES HERE
我在 Emacs 手册中找到了此功能,但我不知道如何在此处应用它。
有什么建议么?谢谢。
编辑:一个答案建议vc-update-change-log。不幸的是,它只支持 CVS,它通过查询已经提交的 VC 日志来创建 ChangeLog 条目。因此,即使它支持 svn 和其他,也不可能在同一个提交中提交更改和 ChangeLog。
EDIT2:显然 add-changelog-entry-other-window (Cx 4 a)不仅适用于访问过的文件,而且适用于涉及该文件的差异大块。(来源)这几乎是我正在寻找的。这与 elisp 循环一起遍历所有大块应该可以解决它。