>> "VO" == Vincent Ordy
<ordy(a)lrde.epita.fr> writes:
[...]
VO> C'est vrai pour les 2, mais ce code vient de svn-wrapper. Donc vous
VO> deviez déjà avoir le problème, comment le gériez-vous ?
Je n'utilise pas svn-wrapper. D'une part il ne respecte pas ma
façon de travailler en voulant écrire les ChangeLog à ma place,
d'autre part je considère que c'est une des causes de la baisse
de qualité des entrées des ChangeLog des projets du labo :
(1) les gens se contentent d'une simple phrase devant une liste
de fichiers générée automatiquement par svn-wrapper au lieu
de commenter chaque changement
(2) les noms des fonctions modifiées ne sont même pas citées,
par flemme de devoir repasser sur la liste
VO> C'est moche oui. Mais perso je préfère enlever des trucs du ChangeLog
VO> que de devoir en rajouter
Comme chaque commit ajoute des trucs au ChangeLog, comment
fais-tu pour en enlever sans en rajouter ?
> Non, non, franchement pour éviter le travail de
dupliquer
> les messages des commits et du ChangeLog je vois d'autres
> solutions :
>
> - écrire le ChangeLog confortablement (p.ex. à l'aide
> de "C-x 4 a" sous emacs) et avoir un script qui appelle
> "git commit" en lui passant le texte de la dernière entrée.
VO> 1/ On n'utilise pas tous le même éditeur. Chez les 2009, sur 9
VO> étudiants, il y en avait 4 qui utilisaient vim. Tu veux vraiment faire
VO> un script/macro pour chaque éditeur ? :D
Ce que je suggère est indépendant de l'éditeur. Je veux remplir
le ChangeLog à la main et le message de commit automatiquement,
au lieu de faire l'inverse.
Le script que j'imagine pour aider au commit serait une version
évoluée de :
git-ci()
{
git add ChangeLog
git commit -m "`sed '1d;/^....-..-../Q;s/^\t//;' ChangeLog`"
"$@"
}
Avec la façon de travailler suivante :
1. je change ce que je veux, éventuellement je mets à
jour le ChangeLog au fur et à mesure grâce aux fonctions
dédiées de mon éditeur
2. git add ... de tous les fichiers que je veux commiter
3. git diff --cached pour relire ce que j'ai préparé
4. je termine le ChangeLog, toujours dans mon éditeur
5. git-ci pour faire le commit en utilisant ma dernière
entrée de ChangeLog comme message de commit
VO> 2/ On ne va pas pouvoir générer facilement la liste des fichiers à
VO> inclure dans le commit dans le ChangeLog.
Cf. point (2) plus haut. Un ChangeLog n'est pas qu'une liste de
fichiers, on veut aussi voir les fonctions modifiées. Or avec
"C-x 4 a" (je cite emacs parce que c'est ce que je connais, je
ne doute pas vi sache en faire autant) compléter les noms des
fonctions demande autant de travail que remplir l'entrée
complète au fur et à mesure. En ce qui me concerne, je ne vois
donc aucun intérêt à générer ces entrées.
Cela dit, écrire le ChangeLog ou le générer : ce n'est pas très
grave. Les gens peuvent bien travailler comme ils se sentent le
plus efficaces. Ça me fait juste de la peine quand certaines
façon de travailler (lire svn-wrapper) semblent encourager un
laisser-aller, et du coup j'aimerais bien les décourager.
Le coup du post-commit qui modifie le ChangeLog est d'un autre
niveau : là ça t'empêche d'utiliser git pleinement. J'aimerais
beaucoup que personne ne te suive sur cette voie !
--
Alexandre Duret-Lutz