Je voudrais automatiser partiellement la création d'entrées ChangeLog de style GNU lorsque je travaille avec du code source dans le contrôle de version. Le add-changelog-entry-other-window
fonctionne avec un fichier à la fois et vous devez visiter le fichier pour l'utiliser. Ce que je voudrais voir à la place est d'avoir une commande qui prendrait une sortie de diff -u -p
(ou aurait une intégration avec les modes VC pour qu'il puisse traiter svn diff
etc.) et de créer toutes les entrées squelette en une fois.Emacs: Y at-il un moyen de générer un ChangeLog squelette de diff?
Par exemple, si svn status
montre
D file1.c
M file2.c
A file3.c
la commande créerait
2009-09-05 My Name <my.email>
* file1.c: Removed.
* file2.c: WRITE YOUR CHANGES HERE
* file3.c: New.
Mieux encore, si l'on pouvait analyser les fichiers modifiés dans certaines langues dans une certaine mesure il pourrait offrir:
* file2.c (new_function): New function.
(deleted_function): Removed.
(changed_function): WRITE YOUR CHANGES HERE
J'ai trouvé this feature in Emacs manual, mais je n'ai pas trouvé Je ne vois pas comment je pourrais l'appliquer ici.
Des suggestions? Merci.
EDIT: Une réponse suggérée vc-update-change-log. Malheureusement, il ne prend en charge que CVS et crée des entrées ChangeLog en interrogeant les journaux VC déjà validés. Ainsi, même s'il supportait svn et les autres, il serait impossible de valider les changements et le ChangeLog dans le même commit.
EDIT2: Apparemment, add-changelog-entry-other-window (C-x 4 a) fonctionne non seulement à partir du fichier visité, mais aussi à partir de diff qui concerne ce fichier. (Source) C'est presque ce que je cherche. Ceci avec une boucle d'élisp pour itérer à travers tous les mecs devrait le résoudre.
Je pense que le suivi des changements de niveau de fonction sera difficile. – Amjith
jinxed_coder: pas question à ce sujet. C'était plus envie "tarte dans le ciel". D'un autre côté, il ne doit pas être parfait à 100%. –