バージョン管理でソースコードを操作するときにGNUスタイルのChangeLogエントリの作成を部分的に自動化したいと思います。 add-changelog-entry-other-window
は、一度に1つのファイルで動作し、ファイルを参照して使用する必要があります。Emacs:差分からスケルトンChangeLogを生成する方法はありますか?
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
this feature in Emacs manualが見つかりましたが、私はここでそれをどのように適用できるかを見ています。
提案がありますか?ありがとう。
編集:1つの答えはvc-update-change-logを示唆しました。残念ながら、それはCVSだけをサポートし、すでにコミットされたVCログを照会することによってChangeLogエントリを作成します。したがって、svnなどをサポートしていても、変更と変更コミットを同じコミットにコミットすることは不可能です。
EDIT2:明らかに、add-changelog-entry-other-window(C-x 4 a)は、訪問先のファイルだけでなく、そのファイルを含むdiff hunkでも動作します。 (Source)これは私が探しているものです。すべてのハンクを繰り返し処理するelispループと一緒にこれを解決する必要があります。
私は機能レベルの変更を追跡するのは難しいと思います。 – Amjith
jinxed_coder:それについての質問はありません。それはもっと "パイの空"の希望でした。一方、100%完全である必要はありません。 –