* Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) [not found] ` <87y49vz4cg.fsf@acer.localhost.com> @ 2016-03-06 21:52 ` John Wiegley 2016-03-06 22:05 ` Eric S. Raymond ` (7 more replies) 0 siblings, 8 replies; 454+ messages in thread From: John Wiegley @ 2016-03-06 21:52 UTC (permalink / raw) To: Emacs developers; +Cc: 21998, Lars Magne Ingebrigtsen [-- Attachment #1: Type: text/plain, Size: 839 bytes --] On Sun, Mar 06 2016 13:07 (-0800), John Wiegley wrote: > > I have always wanted to drop the ChangeLogs, so if the other developers agree, > I'm all for it. Keeping ChangeLog style in the commit entry is not terribly > useful either, since the diff output of log -p lets you know which function or > variable is being modified. I've never missed not having that ChangeLog data > in other projects, of any size. But that's up to the other developers and what > makes their lives easier. I'd like to open this up to discussion on emacs-devel, so that we hear from our other developers. What do you all think about ChangeLogs, and their value to you in your work on Emacs? -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 629 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) 2016-03-06 21:52 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) John Wiegley @ 2016-03-06 22:05 ` Eric S. Raymond 2016-03-08 11:11 ` Is it time to drop ChangeLogs? Uwe Brauer 2016-03-06 22:34 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) Paul Eggert ` (6 subsequent siblings) 7 siblings, 1 reply; 454+ messages in thread From: Eric S. Raymond @ 2016-03-06 22:05 UTC (permalink / raw) To: Emacs developers, Lars Magne Ingebrigtsen, 21998 [-- Attachment #1: Type: text/plain, Size: 916 bytes --] John Wiegley <jwiegley@gmail.com>: > On Sun, Mar 06 2016 13:07 (-0800), John Wiegley wrote: > > > > I have always wanted to drop the ChangeLogs, so if the other developers agree, > > I'm all for it. Keeping ChangeLog style in the commit entry is not terribly > > useful either, since the diff output of log -p lets you know which function or > > variable is being modified. I've never missed not having that ChangeLog data > > in other projects, of any size. But that's up to the other developers and what > > makes their lives easier. > > I'd like to open this up to discussion on emacs-devel, so that we hear from > our other developers. What do you all think about ChangeLogs, and their value > to you in your work on Emacs? I advocated dropping ChangeLogs at the time I did the repository conversion. That is still my position. -- <a href="http://www.catb.org/~esr/">Eric S. Raymond</a> [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 811 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-06 22:05 ` Eric S. Raymond @ 2016-03-08 11:11 ` Uwe Brauer 2016-03-08 14:43 ` Stefan Monnier 0 siblings, 1 reply; 454+ messages in thread From: Uwe Brauer @ 2016-03-08 11:11 UTC (permalink / raw) To: emacs-devel > John Wiegley <jwiegley@gmail.com>: > I advocated dropping ChangeLogs at the time I did the repository conversion. > That is still my position. There is one feature, add-change-log-entry has while vc-next-command has not: In the case of lisp files: a reference to the function or variable, you created or modified as in 2016-03-08 Uwe Brauer <oub@mat.ucm.es> * gnus-init.el (gnus-user-format-function-G): Is inserted in the ChangeLog file. In the case of latex files the section and or equation are taken. I wish vc-next-command had such a functionality (either for git or hg at least). ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 11:11 ` Is it time to drop ChangeLogs? Uwe Brauer @ 2016-03-08 14:43 ` Stefan Monnier 2016-03-08 14:58 ` Uwe Brauer ` (2 more replies) 0 siblings, 3 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 14:43 UTC (permalink / raw) To: emacs-devel > 2016-03-08 Uwe Brauer <oub@mat.ucm.es> > * gnus-init.el (gnus-user-format-function-G): For this reasons, I have an (untracked) ChangeLog file in all my repositories. This way I can use C-x 4 a to write a ChangeLog entry in the "good old way" and then VC will automatically copy that data into the *VC-Log* buffer for me to commit it. I had a hack which made C-x 4 a insert that text directly into *VC-Log* but in the end I found it didn't work so well: it didn't let me save the intermediate commit message and return to it later so it worked OK for small simple changes, but for larger commits with larger diffs I found it rather inconvenient. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 14:43 ` Stefan Monnier @ 2016-03-08 14:58 ` Uwe Brauer 2016-03-08 15:16 ` Stefan Monnier 2016-03-08 16:13 ` Paul Eggert 2016-03-08 16:17 ` Eli Zaretskii 2016-03-08 19:21 ` ChangeLog to *VC-log* (was: Is it time to drop ChangeLogs?) Stephen Berman 2 siblings, 2 replies; 454+ messages in thread From: Uwe Brauer @ 2016-03-08 14:58 UTC (permalink / raw) To: emacs-devel >>> "Stefan" == Stefan Monnier <monnier@iro.umontreal.ca> writes: >> 2016-03-08 Uwe Brauer <oub@mat.ucm.es> >> * gnus-init.el (gnus-user-format-function-G): > For this reasons, I have an (untracked) ChangeLog file in all > my repositories. This way I can use C-x 4 a to write a ChangeLog entry > in the "good old way" and then VC will automatically copy that data into > the *VC-Log* buffer for me to commit it. That's what I do also. > I had a hack which made C-x 4 a insert that text directly into *VC-Log* > but in the end I found it didn't work so well: it didn't let me save the > intermediate commit message and return to it later so it worked OK for > small simple changes, but for larger commits with larger diffs I found it > rather inconvenient. In any case could you send me that hack please? ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 14:58 ` Uwe Brauer @ 2016-03-08 15:16 ` Stefan Monnier 2016-03-08 16:13 ` Paul Eggert 1 sibling, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 15:16 UTC (permalink / raw) To: emacs-devel >> I had a hack which made C-x 4 a insert that text directly into *VC-Log* >> but in the end I found it didn't work so well: it didn't let me save the >> intermediate commit message and return to it later so it worked OK for >> small simple changes, but for larger commits with larger diffs I found it >> rather inconvenient. > In any case could you send me that hack please? Sorry, it died a while ago and I'm not sure how to resurrect it. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 14:58 ` Uwe Brauer 2016-03-08 15:16 ` Stefan Monnier @ 2016-03-08 16:13 ` Paul Eggert 1 sibling, 0 replies; 454+ messages in thread From: Paul Eggert @ 2016-03-08 16:13 UTC (permalink / raw) To: emacs-devel Uwe Brauer wrote: > > For this reasons, I have an (untracked) ChangeLog file in all > > my repositories. This way I can use C-x 4 a to write a ChangeLog entry > > in the "good old way" and then VC will automatically copy that data into > > the*VC-Log* buffer for me to commit it. > > > That's what I do also. Me too, except I track the ChangeLog file in a *separate* git repository (i.e., not in the git repository that holds emacs). This separate repository is automatically managed by vc-dwim. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 14:43 ` Stefan Monnier 2016-03-08 14:58 ` Uwe Brauer @ 2016-03-08 16:17 ` Eli Zaretskii 2016-03-08 19:21 ` ChangeLog to *VC-log* (was: Is it time to drop ChangeLogs?) Stephen Berman 2 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 16:17 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel > From: Stefan Monnier <monnier@iro.umontreal.ca> > Date: Tue, 08 Mar 2016 09:43:55 -0500 > > > 2016-03-08 Uwe Brauer <oub@mat.ucm.es> > > * gnus-init.el (gnus-user-format-function-G): > > For this reasons, I have an (untracked) ChangeLog file in all > my repositories. This way I can use C-x 4 a to write a ChangeLog entry > in the "good old way" and then VC will automatically copy that data into > the *VC-Log* buffer for me to commit it. Same here. ^ permalink raw reply [flat|nested] 454+ messages in thread
* ChangeLog to *VC-log* (was: Is it time to drop ChangeLogs?) 2016-03-08 14:43 ` Stefan Monnier 2016-03-08 14:58 ` Uwe Brauer 2016-03-08 16:17 ` Eli Zaretskii @ 2016-03-08 19:21 ` Stephen Berman 2016-03-08 22:26 ` ChangeLog to *VC-log* Dmitry Gutov 2 siblings, 1 reply; 454+ messages in thread From: Stephen Berman @ 2016-03-08 19:21 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel On Tue, 08 Mar 2016 09:43:55 -0500 Stefan Monnier <monnier@iro.umontreal.ca> wrote: >> 2016-03-08 Uwe Brauer <oub@mat.ucm.es> >> * gnus-init.el (gnus-user-format-function-G): > > For this reasons, I have an (untracked) ChangeLog file in all > my repositories. This way I can use C-x 4 a to write a ChangeLog entry > in the "good old way" and then VC will automatically copy that data into > the *VC-Log* buffer for me to commit it. This hasn't worked for me for some time, nor has `C-c C-a' in the *VC-Log* buffer (though it used to work). I just tried again: I edited lisp/calendar/todo-mode.el, wrote a ChangeLog entry with `C-x 4 a', typed `C-x v d' to get the VC-Dired buffer, typed v, got a *VC-Log* buffer with no ChangeLog entry, typed `C-c C-a', the *VC-Log* buffer remained empty. Same thing after saving the ChangeLog buffer and repeated the preceding steps. Same thing when running VC-dired in the Emacs source tree root. Same thing with emacs -Q. What am I doing wrong? Steve Berman ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: ChangeLog to *VC-log* 2016-03-08 19:21 ` ChangeLog to *VC-log* (was: Is it time to drop ChangeLogs?) Stephen Berman @ 2016-03-08 22:26 ` Dmitry Gutov 2016-03-08 23:07 ` Stephen Berman 0 siblings, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-03-08 22:26 UTC (permalink / raw) To: Stephen Berman, Stefan Monnier; +Cc: emacs-devel On 03/08/2016 09:21 PM, Stephen Berman wrote: > This hasn't worked for me for some time, nor has `C-c C-a' in the > *VC-Log* buffer (though it used to work). I just tried again: I edited > lisp/calendar/todo-mode.el, wrote a ChangeLog entry with `C-x 4 a', Where does the ChangeLog file reside, in which you make that entry? If it's not at the top level, try deleting that one. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: ChangeLog to *VC-log* 2016-03-08 22:26 ` ChangeLog to *VC-log* Dmitry Gutov @ 2016-03-08 23:07 ` Stephen Berman 2016-03-08 23:11 ` Dmitry Gutov 2016-03-09 2:01 ` Stefan Monnier 0 siblings, 2 replies; 454+ messages in thread From: Stephen Berman @ 2016-03-08 23:07 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Stefan Monnier, emacs-devel On Wed, 9 Mar 2016 00:26:10 +0200 Dmitry Gutov <dgutov@yandex.ru> wrote: > On 03/08/2016 09:21 PM, Stephen Berman wrote: > >> This hasn't worked for me for some time, nor has `C-c C-a' in the >> *VC-Log* buffer (though it used to work). I just tried again: I edited >> lisp/calendar/todo-mode.el, wrote a ChangeLog entry with `C-x 4 a', > > Where does the ChangeLog file reside, in which you make that entry? If it's > not at the top level, try deleting that one. Ah, thanks. I'm pretty sure it used to be the case that `C-x 4 a' would automatically find the right ChangeLog file, but I suppose that changed when manually maintaining ChangeLogs was abandoned. So I guess Emacs developers should now set `change-log-default-name' to top level. Steve Berman ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: ChangeLog to *VC-log* 2016-03-08 23:07 ` Stephen Berman @ 2016-03-08 23:11 ` Dmitry Gutov 2016-03-09 19:30 ` Stephen Berman 2016-03-09 2:01 ` Stefan Monnier 1 sibling, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-03-08 23:11 UTC (permalink / raw) To: Stephen Berman; +Cc: Stefan Monnier, emacs-devel On 03/09/2016 01:07 AM, Stephen Berman wrote: > Ah, thanks. I'm pretty sure it used to be the case that `C-x 4 a' would > automatically find the right ChangeLog file, but I suppose that changed > when manually maintaining ChangeLogs was abandoned. So I guess Emacs > developers should now set `change-log-default-name' to top level. Probably. If you have a solid reproduction scenario, please make a bug report. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: ChangeLog to *VC-log* 2016-03-08 23:11 ` Dmitry Gutov @ 2016-03-09 19:30 ` Stephen Berman 2016-03-09 19:33 ` Lars Magne Ingebrigtsen ` (2 more replies) 0 siblings, 3 replies; 454+ messages in thread From: Stephen Berman @ 2016-03-09 19:30 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Stefan Monnier, emacs-devel On Wed, 9 Mar 2016 01:11:01 +0200 Dmitry Gutov <dgutov@yandex.ru> wrote: > On 03/09/2016 01:07 AM, Stephen Berman wrote: > >> Ah, thanks. I'm pretty sure it used to be the case that `C-x 4 a' would >> automatically find the right ChangeLog file, but I suppose that changed >> when manually maintaining ChangeLogs was abandoned. So I guess Emacs >> developers should now set `change-log-default-name' to top level. > > Probably. If you have a solid reproduction scenario, please make a bug report. > On Tue, 08 Mar 2016 21:01:40 -0500 Stefan Monnier <monnier@IRO.UMontreal.CA> wrote: > AFAIK the C-x 4 a code hasn't been changed, so if there's a change in > behavior it's most likely an accident/bug. Please report it via M-x > report-emacs-bug with a detailed recipe. I found the cause of the change in behavior I observed: it's due to the elimination of files named "ChangeLog" from the Emacs sources (there are now only files named "ChangeLog.<n>"). In consequence, find-change-log creates an empty file named "ChangeLog" in the immediate directory of the file in which `C-x 4 a' was invoked, e.g. in lisp/calendar/, when I'm editing todo-mode.el; previously, `C-x 4 a' found lisp/ChangeLog. I guess those who don't see this keep an non-VCS-tracked file "ChangeLog" at top level. If we don't return to maintaining versioned ChangeLog files, I think it would be desirable for `C-x 4 a' to always create (or find) the file "ChangeLog" at top level when editing Emacs sources, since this would add the required directory levels to the commit message. (Of course, people could just always use `C-u C-x 4 a', but that's not as convenient.) Since other projects that could use `C-x 4 a' may have different requirements on its effect, this should be conditioned by a user option (or maybe just a plain variable), which can (and probably should) be set in .dir-locals.el. What do others think? (Should I still file a bug (though it's more like a feature request), or should we just continue the discussion here?) Steve Berman ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: ChangeLog to *VC-log* 2016-03-09 19:30 ` Stephen Berman @ 2016-03-09 19:33 ` Lars Magne Ingebrigtsen 2016-03-09 20:00 ` Eli Zaretskii 2016-03-10 7:16 ` Xue Fuqiao 2 siblings, 0 replies; 454+ messages in thread From: Lars Magne Ingebrigtsen @ 2016-03-09 19:33 UTC (permalink / raw) To: Stephen Berman; +Cc: emacs-devel, Stefan Monnier, Dmitry Gutov Stephen Berman <stephen.berman@gmx.net> writes: > (Should I still file a bug (though it's more like a feature request), or > should we just continue the discussion here?) Please file a bug report. This behaviour is really annoying, and should be fixed one way or another. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: ChangeLog to *VC-log* 2016-03-09 19:30 ` Stephen Berman 2016-03-09 19:33 ` Lars Magne Ingebrigtsen @ 2016-03-09 20:00 ` Eli Zaretskii 2016-03-09 23:01 ` Stephen Berman 2016-03-10 7:16 ` Xue Fuqiao 2 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 20:00 UTC (permalink / raw) To: Stephen Berman; +Cc: emacs-devel, monnier, dgutov > From: Stephen Berman <stephen.berman@gmx.net> > Date: Wed, 09 Mar 2016 20:30:32 +0100 > Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org > > I found the cause of the change in behavior I observed: it's due to the > elimination of files named "ChangeLog" from the Emacs sources (there are > now only files named "ChangeLog.<n>"). In consequence, find-change-log > creates an empty file named "ChangeLog" in the immediate directory of > the file in which `C-x 4 a' was invoked, e.g. in lisp/calendar/, when > I'm editing todo-mode.el; previously, `C-x 4 a' found lisp/ChangeLog. I > guess those who don't see this keep an non-VCS-tracked file "ChangeLog" > at top level. > > If we don't return to maintaining versioned ChangeLog files, I think it > would be desirable for `C-x 4 a' to always create (or find) the file > "ChangeLog" at top level when editing Emacs sources, since this would > add the required directory levels to the commit message. No, _you_ should create a file at top level, and then everything will continue working. That's why the top-level file is called ChangeLog.2: to keep it out of your way. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: ChangeLog to *VC-log* 2016-03-09 20:00 ` Eli Zaretskii @ 2016-03-09 23:01 ` Stephen Berman 2016-03-10 6:26 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Stephen Berman @ 2016-03-09 23:01 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel, monnier, dgutov On Wed, 09 Mar 2016 22:00:05 +0200 Eli Zaretskii <eliz@gnu.org> wrote: >> From: Stephen Berman <stephen.berman@gmx.net> >> Date: Wed, 09 Mar 2016 20:30:32 +0100 >> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org >> >> I found the cause of the change in behavior I observed: it's due to the >> elimination of files named "ChangeLog" from the Emacs sources (there are >> now only files named "ChangeLog.<n>"). In consequence, find-change-log >> creates an empty file named "ChangeLog" in the immediate directory of >> the file in which `C-x 4 a' was invoked, e.g. in lisp/calendar/, when >> I'm editing todo-mode.el; previously, `C-x 4 a' found lisp/ChangeLog. I >> guess those who don't see this keep an non-VCS-tracked file "ChangeLog" >> at top level. >> >> If we don't return to maintaining versioned ChangeLog files, I think it >> would be desirable for `C-x 4 a' to always create (or find) the file >> "ChangeLog" at top level when editing Emacs sources, since this would >> add the required directory levels to the commit message. > > No, _you_ should create a file at top level, and then everything will > continue working. That's why the top-level file is called > ChangeLog.2: to keep it out of your way. But if Emacs can do that for me (and in so doing automatically comply with its commit message format specification), don't you agree that's more user-friendly? Do you see a down side to having that automatism? (Feel free to reply to bug#22968, if you prefer.) Steve Berman ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: ChangeLog to *VC-log* 2016-03-09 23:01 ` Stephen Berman @ 2016-03-10 6:26 ` Eli Zaretskii 2016-03-10 12:59 ` Stephen Berman 2016-03-10 13:13 ` Stefan Monnier 0 siblings, 2 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-10 6:26 UTC (permalink / raw) To: Stephen Berman; +Cc: emacs-devel, monnier, dgutov > From: Stephen Berman <stephen.berman@gmx.net> > Cc: dgutov@yandex.ru, monnier@iro.umontreal.ca, emacs-devel@gnu.org > Date: Thu, 10 Mar 2016 00:01:00 +0100 > > > No, _you_ should create a file at top level, and then everything will > > continue working. That's why the top-level file is called > > ChangeLog.2: to keep it out of your way. > > But if Emacs can do that for me (and in so doing automatically comply > with its commit message format specification), don't you agree that's > more user-friendly? Do you see a down side to having that automatism? We are trying to bend features so that they do what we think we want when we work on Emacs. But Emacs is not only for working on Emacs, and creating a top-level ChangeLog file is not necessarily TRT for all those other projects. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: ChangeLog to *VC-log* 2016-03-10 6:26 ` Eli Zaretskii @ 2016-03-10 12:59 ` Stephen Berman 2016-03-10 13:13 ` Stefan Monnier 1 sibling, 0 replies; 454+ messages in thread From: Stephen Berman @ 2016-03-10 12:59 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel, monnier, dgutov On Thu, 10 Mar 2016 08:26:56 +0200 Eli Zaretskii <eliz@gnu.org> wrote: >> From: Stephen Berman <stephen.berman@gmx.net> >> Cc: dgutov@yandex.ru, monnier@iro.umontreal.ca, emacs-devel@gnu.org >> Date: Thu, 10 Mar 2016 00:01:00 +0100 >> >> > No, _you_ should create a file at top level, and then everything will >> > continue working. That's why the top-level file is called >> > ChangeLog.2: to keep it out of your way. >> >> But if Emacs can do that for me (and in so doing automatically comply >> with its commit message format specification), don't you agree that's >> more user-friendly? Do you see a down side to having that automatism? > > We are trying to bend features so that they do what we think we want > when we work on Emacs. But Emacs is not only for working on Emacs, > and creating a top-level ChangeLog file is not necessarily TRT for all > those other projects. That's why I wrote this in the post you replied to: "Since other projects that could use `C-x 4 a' may have different requirements on its effect, this should be conditioned by a user option (or maybe just a plain variable), which can (and probably should) be set in .dir-locals.el." But anyway, Glenn Morris said he already implemented something like this on master, which I have not yet tested or even seen, so I don't know how flexible it is. Steve Berman ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: ChangeLog to *VC-log* 2016-03-10 6:26 ` Eli Zaretskii 2016-03-10 12:59 ` Stephen Berman @ 2016-03-10 13:13 ` Stefan Monnier 1 sibling, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-10 13:13 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Stephen Berman, emacs-devel, dgutov > and creating a top-level ChangeLog file is not necessarily TRT for all > those other projects. Creating a ChangeLog right along side the changed file is not necessarily TRT either. IOW what we've done in the past was just a heuristic where the really wasn't many other choices, but if you consider the "VC root" information that's available nowadays it's actually a very valid fallback option as well. From where I stand "<VCroot>/ChangeLog" is a better fallback option than "<cwd>/ChangeLog", but in any case either choice is just a "best guess" and will not always be right (which is why we only make this choice when there's no pre-existing ChangeLog file). Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: ChangeLog to *VC-log* 2016-03-09 19:30 ` Stephen Berman 2016-03-09 19:33 ` Lars Magne Ingebrigtsen 2016-03-09 20:00 ` Eli Zaretskii @ 2016-03-10 7:16 ` Xue Fuqiao 2016-03-10 12:59 ` Stephen Berman 2 siblings, 1 reply; 454+ messages in thread From: Xue Fuqiao @ 2016-03-10 7:16 UTC (permalink / raw) To: Stephen Berman; +Cc: Emacs-devel, Stefan Monnier, Dmitry Gutov On Thu, Mar 10, 2016 at 3:30 AM, Stephen Berman <stephen.berman@gmx.net> wrote: Hi Stephen, > I found the cause of the change in behavior I observed: it's due to the > elimination of files named "ChangeLog" from the Emacs sources (there are > now only files named "ChangeLog.<n>"). In consequence, find-change-log > creates an empty file named "ChangeLog" in the immediate directory of > the file in which `C-x 4 a' was invoked, e.g. in lisp/calendar/, when > I'm editing todo-mode.el; previously, `C-x 4 a' found lisp/ChangeLog. I > guess those who don't see this keep an non-VCS-tracked file "ChangeLog" > at top level. > > If we don't return to maintaining versioned ChangeLog files, I think it > would be desirable for `C-x 4 a' to always create (or find) the file > "ChangeLog" at top level when editing Emacs sources, since this would > add the required directory levels to the commit message. (Of course, > people could just always use `C-u C-x 4 a', but that's not as > convenient.) Since other projects that could use `C-x 4 a' may have > different requirements on its effect, this should be conditioned by a > user option (or maybe just a plain variable), which can (and probably > should) be set in .dir-locals.el. What do others think? Does commit dc435af152e6df3d85b0c21eaf9ff39dce0091bb fix this issue? (I'm not sure if I understand the issue at hand correctly, because I don't use 'C-x 4 a' very often.) ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: ChangeLog to *VC-log* 2016-03-10 7:16 ` Xue Fuqiao @ 2016-03-10 12:59 ` Stephen Berman 0 siblings, 0 replies; 454+ messages in thread From: Stephen Berman @ 2016-03-10 12:59 UTC (permalink / raw) To: Xue Fuqiao; +Cc: Emacs-devel, Stefan Monnier, Dmitry Gutov On Thu, 10 Mar 2016 15:16:01 +0800 Xue Fuqiao <xfq.free@gmail.com> wrote: > On Thu, Mar 10, 2016 at 3:30 AM, Stephen Berman <stephen.berman@gmx.net> wrote: > > Hi Stephen, > >> I found the cause of the change in behavior I observed: it's due to the >> elimination of files named "ChangeLog" from the Emacs sources (there are >> now only files named "ChangeLog.<n>"). In consequence, find-change-log >> creates an empty file named "ChangeLog" in the immediate directory of >> the file in which `C-x 4 a' was invoked, e.g. in lisp/calendar/, when >> I'm editing todo-mode.el; previously, `C-x 4 a' found lisp/ChangeLog. I >> guess those who don't see this keep an non-VCS-tracked file "ChangeLog" >> at top level. >> >> If we don't return to maintaining versioned ChangeLog files, I think it >> would be desirable for `C-x 4 a' to always create (or find) the file >> "ChangeLog" at top level when editing Emacs sources, since this would >> add the required directory levels to the commit message. (Of course, >> people could just always use `C-u C-x 4 a', but that's not as >> convenient.) Since other projects that could use `C-x 4 a' may have >> different requirements on its effect, this should be conditioned by a >> user option (or maybe just a plain variable), which can (and probably >> should) be set in .dir-locals.el. What do others think? > > Does commit dc435af152e6df3d85b0c21eaf9ff39dce0091bb fix this issue? Glenn Morris mentioned this in bug#22968; since I'm not currently using master, I haven't tried it yet, but intend to as soon as I can. Steve Berman ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: ChangeLog to *VC-log* 2016-03-08 23:07 ` Stephen Berman 2016-03-08 23:11 ` Dmitry Gutov @ 2016-03-09 2:01 ` Stefan Monnier 1 sibling, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-09 2:01 UTC (permalink / raw) To: Stephen Berman; +Cc: emacs-devel, Dmitry Gutov > automatically find the right ChangeLog file, but I suppose that changed > when manually maintaining ChangeLogs was abandoned. So I guess Emacs > developers should now set `change-log-default-name' to top level. AFAIK the C-x 4 a code hasn't been changed, so if there's a change in behavior it's most likely an accident/bug. Please report it via M-x report-emacs-bug with a detailed recipe. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) 2016-03-06 21:52 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) John Wiegley 2016-03-06 22:05 ` Eric S. Raymond @ 2016-03-06 22:34 ` Paul Eggert 2016-03-07 16:26 ` bug#21998: " Eli Zaretskii 2016-03-06 23:06 ` Drew Adams ` (5 subsequent siblings) 7 siblings, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-03-06 22:34 UTC (permalink / raw) To: Emacs developers; +Cc: 21998 John Wiegley wrote: > What do you all think about ChangeLogs, and their value > to you in your work on Emacs? I regularly do the equivalent of: grep PATTERN $(git ls-files | grep -v ChangeLog) That is, in searches I typically ignore ChangeLog* files because of their less-useful chatter. I'd be happy if we stopped maintaining these files in the master branch (we should keep them for emacs-25). I'd be happy if we removed the existing ChangeLog* files from the master branch. Even if we remove ChangeLogs, we should still have guidelines for commit message format, as saying "anything goes" would make it harder to read the output of 'git log'. I don't mind using ChangeLog format in commit messages, as it's a well-understood format and switching to some other format could well be more trouble than it's worth. ^ permalink raw reply [flat|nested] 454+ messages in thread
* bug#21998: Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) 2016-03-06 22:34 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) Paul Eggert @ 2016-03-07 16:26 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-07 16:26 UTC (permalink / raw) To: Paul Eggert; +Cc: 21998, emacs-devel > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Sun, 6 Mar 2016 14:34:12 -0800 > Cc: 21998@debbugs.gnu.org > > John Wiegley wrote: > > What do you all think about ChangeLogs, and their value > > to you in your work on Emacs? > > I regularly do the equivalent of: > > grep PATTERN $(git ls-files | grep -v ChangeLog) > > That is, in searches I typically ignore ChangeLog* files because of their > less-useful chatter. It is a truism that when you know ChangeLog files don't included the information you are after, you'd like to exclude them. Likewise, when I'm looking for information that can only be found in ChangeLog files, I will filter out everything else as "less-useful chatter". > Even if we remove ChangeLogs, we should still have guidelines for commit message > format We won't be able to enforce that rule for long. It's a slippery slope. Very slippery. ^ permalink raw reply [flat|nested] 454+ messages in thread
* RE: Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) 2016-03-06 21:52 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) John Wiegley 2016-03-06 22:05 ` Eric S. Raymond 2016-03-06 22:34 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) Paul Eggert @ 2016-03-06 23:06 ` Drew Adams 2016-03-07 0:15 ` Is it time to drop ChangeLogs? John Wiegley 2016-03-07 0:22 ` Mathieu Lirzin ` (4 subsequent siblings) 7 siblings, 1 reply; 454+ messages in thread From: Drew Adams @ 2016-03-06 23:06 UTC (permalink / raw) To: John Wiegley, Emacs developers; +Cc: 21998, Lars Magne Ingebrigtsen Maybe see this thread? http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00904.html (FWIW, I have no opinion about where Emacs Dev puts change-log info.) ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-06 23:06 ` Drew Adams @ 2016-03-07 0:15 ` John Wiegley 2016-03-07 0:24 ` Drew Adams 2016-03-07 16:28 ` Eli Zaretskii 0 siblings, 2 replies; 454+ messages in thread From: John Wiegley @ 2016-03-07 0:15 UTC (permalink / raw) To: Drew Adams Cc: 21998, Lars Magne Ingebrigtsen, Richard Stallman, Emacs developers [-- Attachment #1: Type: text/plain, Size: 551 bytes --] >>>>> Drew Adams <drew.adams@oracle.com> writes: > Maybe see this thread? > http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00904.html I respect that Richard may use them in a constructive way, but he's no longer doing the majority of the work on Emacs, and I want to choose the path that works for the core developers, and will make Emacs more welcoming to new contributors. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 629 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* RE: Is it time to drop ChangeLogs? 2016-03-07 0:15 ` Is it time to drop ChangeLogs? John Wiegley @ 2016-03-07 0:24 ` Drew Adams 2016-03-07 16:28 ` Eli Zaretskii 1 sibling, 0 replies; 454+ messages in thread From: Drew Adams @ 2016-03-07 0:24 UTC (permalink / raw) To: John Wiegley Cc: 21998, Lars Magne Ingebrigtsen, Richard Stallman, Emacs developers > > Maybe see this thread? > > http://lists.gnu.org/archive/html/emacs-devel/2013- > > 03/msg00904.html > > I respect that Richard may use them in a constructive way, but he's > no longer doing the majority of the work on Emacs, and I want to > choose the path that works for the core developers, and will make > Emacs more welcoming to new contributors. I meant the thread, not that message. I meant to link to the first, not the third, message of the thread: http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00879.html The point is that the subject was the same, so it might serve as a good starting point now, to see what was said before about it. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 0:15 ` Is it time to drop ChangeLogs? John Wiegley 2016-03-07 0:24 ` Drew Adams @ 2016-03-07 16:28 ` Eli Zaretskii 2016-03-07 16:31 ` John Wiegley 2016-03-07 20:46 ` Nikolaus Rath 1 sibling, 2 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-07 16:28 UTC (permalink / raw) To: John Wiegley; +Cc: rms, emacs-devel > From: John Wiegley <jwiegley@gmail.com> > Date: Sun, 06 Mar 2016 16:15:14 -0800 > Cc: 21998@debbugs.gnu.org, Lars Magne Ingebrigtsen <larsi@gnus.org>, > Richard Stallman <rms@gnu.org>, Emacs developers <emacs-devel@gnu.org> > > I respect that Richard may use them in a constructive way, but he's no longer > doing the majority of the work on Emacs Neither are some of those who expressed their views here. Unlike Richard, those others cannot present a history of contributions and of leading the development that is anywhere near what Richard has on his record. > I want to choose the path that works for the core developers, and > will make Emacs more welcoming to new contributors. It is IMO a grave mistake to remove parts of our development process just because they need to be learned by new contributors. The result will be increased burden on the shoulders of those who review the submissions, due to the need to coach them, catch their mistakes, ask for re-submissions, etc. It will eventually be a net loss, because those contributors will not enjoy the need to produce several versions of the patch before it is admitted, and the reviewers will not enjoy the extra burden. We should consider each part of the development process on its own merit, first and foremost. If a part is useful, and its removal will make the quality of the code or the documentation lower, then it should not be removed, and new contributors will have to learn it and to live by it. There's no useful way into Emacs development that doesn't require negotiating a few barriers. No free lunch here (or anywhere). We should recognize this fact instead of trying to bury our head in the sand. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 16:28 ` Eli Zaretskii @ 2016-03-07 16:31 ` John Wiegley 2016-03-07 16:57 ` Eli Zaretskii 2016-03-07 20:46 ` Nikolaus Rath 1 sibling, 1 reply; 454+ messages in thread From: John Wiegley @ 2016-03-07 16:31 UTC (permalink / raw) To: Eli Zaretskii; +Cc: rms, emacs-devel >>>>> Eli Zaretskii <eliz@gnu.org> writes: > It is IMO a grave mistake to remove parts of our development process just > because they need to be learned by new contributors. The result will be > increased burden on the shoulders of those who review the submissions, due > to the need to coach them, catch their mistakes, ask for re-submissions, > etc. It will eventually be a net loss, because those contributors will not > enjoy the need to produce several versions of the patch before it is > admitted, and the reviewers will not enjoy the extra burden. I agree with you, Eli. The question: What is the role of _ChangeLog_ in this. Most other projects don't have them, and I don't hear them complaining. So what is the exact merit of the format, and why should we continue to require it in spite of its costs? -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 16:31 ` John Wiegley @ 2016-03-07 16:57 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-07 16:57 UTC (permalink / raw) To: John Wiegley; +Cc: rms, emacs-devel > From: John Wiegley <jwiegley@gmail.com> > Cc: emacs-devel@gnu.org, rms@gnu.org > Date: Mon, 07 Mar 2016 08:31:56 -0800 > > >>>>> Eli Zaretskii <eliz@gnu.org> writes: > > > It is IMO a grave mistake to remove parts of our development process just > > because they need to be learned by new contributors. The result will be > > increased burden on the shoulders of those who review the submissions, due > > to the need to coach them, catch their mistakes, ask for re-submissions, > > etc. It will eventually be a net loss, because those contributors will not > > enjoy the need to produce several versions of the patch before it is > > admitted, and the reviewers will not enjoy the extra burden. > > I agree with you, Eli. The question: What is the role of _ChangeLog_ in this. > Most other projects don't have them, and I don't hear them complaining. I disagree with this assessment. I've just provided a list of prominent GNU projects that do have them, _as_files_in_the_repo_. The list of GNU projects that don't have them in the repo, but do adhere to the ChangeLog format, is much longer. > So what is the exact merit of the format, and why should we continue > to require it in spite of its costs? I think I just answered that in my other mails in this thread. As for the costs, I think they are negligible, certainly much smaller than what we had to pay for this experiment during the year since we decided to try. And some of the fallout is not yet solved, and we don't even have a clear idea how to solve it, nor motivation to do that. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 16:28 ` Eli Zaretskii 2016-03-07 16:31 ` John Wiegley @ 2016-03-07 20:46 ` Nikolaus Rath 2016-03-07 21:04 ` Eric S. Raymond ` (4 more replies) 1 sibling, 5 replies; 454+ messages in thread From: Nikolaus Rath @ 2016-03-07 20:46 UTC (permalink / raw) To: emacs-devel On Mar 07 2016, Eli Zaretskii <eliz@gnu.org> wrote: >> I want to choose the path that works for the core developers, and >> will make Emacs more welcoming to new contributors. > > It is IMO a grave mistake to remove parts of our development process > just because they need to be learned by new contributors. The result > will be increased burden on the shoulders of those who review the > submissions, due to the need to coach them, catch their mistakes, ask > for re-submissions, etc. When I submitted my first Emacs patch, I was astonished when I was asked to re-submit with my commit message essentially duplicated in the ChangeLog. How can it be an increased burden if reviewers have to review just one thing (the commit message) instead of two (commit message and ChangeLog)? Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 20:46 ` Nikolaus Rath @ 2016-03-07 21:04 ` Eric S. Raymond 2016-03-07 21:14 ` Eli Zaretskii 2016-03-07 21:10 ` Eli Zaretskii ` (3 subsequent siblings) 4 siblings, 1 reply; 454+ messages in thread From: Eric S. Raymond @ 2016-03-07 21:04 UTC (permalink / raw) To: emacs-devel Nikolaus Rath <Nikolaus@rath.org>: > On Mar 07 2016, Eli Zaretskii <eliz@gnu.org> wrote: > >> I want to choose the path that works for the core developers, and > >> will make Emacs more welcoming to new contributors. > > > > It is IMO a grave mistake to remove parts of our development process > > just because they need to be learned by new contributors. The result > > will be increased burden on the shoulders of those who review the > > submissions, due to the need to coach them, catch their mistakes, ask > > for re-submissions, etc. > > When I submitted my first Emacs patch, I was astonished when I was asked > to re-submit with my commit message essentially duplicated in the > ChangeLog. > > How can it be an increased burden if reviewers have to review just one > thing (the commit message) instead of two (commit message and > ChangeLog)? This +1000 ChangeLogs are *absurd* under present-day conditions. They are functional only as a kind of tribal commitment signal. -- <a href="http://www.catb.org/~esr/">Eric S. Raymond</a> ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:04 ` Eric S. Raymond @ 2016-03-07 21:14 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-07 21:14 UTC (permalink / raw) To: esr; +Cc: emacs-devel > Date: Mon, 7 Mar 2016 16:04:26 -0500 > From: "Eric S. Raymond" <esr@thyrsus.com> > > ChangeLogs are *absurd* under present-day conditions. They are functional > only as a kind of tribal commitment signal. Sorry, that's not a relevant response. You are not addressing any of the problems in the current system that I brought up. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 20:46 ` Nikolaus Rath 2016-03-07 21:04 ` Eric S. Raymond @ 2016-03-07 21:10 ` Eli Zaretskii 2016-03-07 21:15 ` Nikolaus Rath 2016-03-07 21:19 ` Dmitry Gutov ` (2 subsequent siblings) 4 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-07 21:10 UTC (permalink / raw) To: Nikolaus Rath; +Cc: emacs-devel > From: Nikolaus Rath <Nikolaus@rath.org> > Date: Mon, 07 Mar 2016 12:46:30 -0800 > > When I submitted my first Emacs patch, I was astonished when I was asked > to re-submit with my commit message essentially duplicated in the > ChangeLog. One is just a copy of the other, so I fail to see a problem, or a reason for astonishment. > How can it be an increased burden if reviewers have to review just one > thing (the commit message) instead of two (commit message and > ChangeLog)? No one reviews the same text twice, so doing this will not affect the review directly. Indirectly, it will make sure your patches are cleaner, because summarizing what you did will frequently reveal subtle blunders and things you forgot. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:10 ` Eli Zaretskii @ 2016-03-07 21:15 ` Nikolaus Rath 2016-03-07 21:23 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Nikolaus Rath @ 2016-03-07 21:15 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Mar 07 2016, Eli Zaretskii <eliz@gnu.org> wrote: >> From: Nikolaus Rath <Nikolaus@rath.org> >> Date: Mon, 07 Mar 2016 12:46:30 -0800 >> >> When I submitted my first Emacs patch, I was astonished when I was asked >> to re-submit with my commit message essentially duplicated in the >> ChangeLog. > > One is just a copy of the other, so I fail to see a problem, or a > reason for astonishment. One just being a copy of the other is the reason for astonishment. >> How can it be an increased burden if reviewers have to review just one >> thing (the commit message) instead of two (commit message and >> ChangeLog)? > > No one reviews the same text twice, so doing this will not affect the > review directly. Well, you are the one who claimed that it makes a difference. > Indirectly, it will make sure your patches are cleaner, because > summarizing what you did will frequently reveal subtle blunders and > things you forgot. We are talking about the advantages of making a copy of that summary, after it has been written. Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:15 ` Nikolaus Rath @ 2016-03-07 21:23 ` Eli Zaretskii 2016-03-07 21:28 ` Nikolaus Rath 2016-03-07 21:32 ` Karl Fogel 0 siblings, 2 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-07 21:23 UTC (permalink / raw) To: Nikolaus Rath; +Cc: emacs-devel > From: Nikolaus Rath <Nikolaus@rath.org> > Cc: emacs-devel@gnu.org > Date: Mon, 07 Mar 2016 13:15:16 -0800 > > On Mar 07 2016, Eli Zaretskii <eliz@gnu.org> wrote: > >> From: Nikolaus Rath <Nikolaus@rath.org> > >> Date: Mon, 07 Mar 2016 12:46:30 -0800 > >> > >> When I submitted my first Emacs patch, I was astonished when I was asked > >> to re-submit with my commit message essentially duplicated in the > >> ChangeLog. > > > > One is just a copy of the other, so I fail to see a problem, or a > > reason for astonishment. > > One just being a copy of the other is the reason for astonishment. I still don't see why. It's a simple request that is easily accomplished. I mentioned several other GNU projects that do the same. It's accepted practice. > >> How can it be an increased burden if reviewers have to review just one > >> thing (the commit message) instead of two (commit message and > >> ChangeLog)? > > > > No one reviews the same text twice, so doing this will not affect the > > review directly. > > Well, you are the one who claimed that it makes a difference. No, you've misunderstood what I wrote. > > Indirectly, it will make sure your patches are cleaner, because > > summarizing what you did will frequently reveal subtle blunders and > > things you forgot. > > We are talking about the advantages of making a copy of that summary, > after it has been written. You didn't read what I wrote about the current system. If we stop producing ChangeLog files, there will be no reason for having detailed enough commit log messages, and soon enough there will be no summaries. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:23 ` Eli Zaretskii @ 2016-03-07 21:28 ` Nikolaus Rath 2016-03-08 3:38 ` Eli Zaretskii 2016-03-07 21:32 ` Karl Fogel 1 sibling, 1 reply; 454+ messages in thread From: Nikolaus Rath @ 2016-03-07 21:28 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Mar 07 2016, Eli Zaretskii <eliz@gnu.org> wrote: >> From: Nikolaus Rath <Nikolaus@rath.org> >> Cc: emacs-devel@gnu.org >> Date: Mon, 07 Mar 2016 13:15:16 -0800 >> >> On Mar 07 2016, Eli Zaretskii <eliz@gnu.org> wrote: >> >> From: Nikolaus Rath <Nikolaus@rath.org> >> >> Date: Mon, 07 Mar 2016 12:46:30 -0800 >> >> >> >> When I submitted my first Emacs patch, I was astonished when I was asked >> >> to re-submit with my commit message essentially duplicated in the >> >> ChangeLog. >> > >> > One is just a copy of the other, so I fail to see a problem, or a >> > reason for astonishment. >> >> One just being a copy of the other is the reason for astonishment. > > I still don't see why. It's a simple request that is easily > accomplished. I mentioned several other GNU projects that do the > same. It's accepted practice. Asking me to walk three times around my chair before making the commit is also a simple request that's easily accomplished. That doesn't make it any less astonishing. There is just no apparent good reason for this duplication. Thus it astonishes. >> >> How can it be an increased burden if reviewers have to review just one >> >> thing (the commit message) instead of two (commit message and >> >> ChangeLog)? >> > >> > No one reviews the same text twice, so doing this will not affect the >> > review directly. >> >> Well, you are the one who claimed that it makes a difference. > > No, you've misunderstood what I wrote. > >> > Indirectly, it will make sure your patches are cleaner, because >> > summarizing what you did will frequently reveal subtle blunders and >> > things you forgot. >> >> We are talking about the advantages of making a copy of that summary, >> after it has been written. > > You didn't read what I wrote about the current system. If we stop > producing ChangeLog files, there will be no reason for having detailed > enough commit log messages, and soon enough there will be no > summaries. I don't see how one follows from the other. Why isn't whatever measure you are currently take to ensure detailed ChangeLog files equally suitable to ensure detailed commit messages? Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:28 ` Nikolaus Rath @ 2016-03-08 3:38 ` Eli Zaretskii 2016-03-08 5:00 ` Nikolaus Rath 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 3:38 UTC (permalink / raw) To: Nikolaus Rath; +Cc: emacs-devel > From: Nikolaus Rath <Nikolaus@rath.org> > Cc: emacs-devel@gnu.org > Date: Mon, 07 Mar 2016 13:28:21 -0800 > > Asking me to walk three times around my chair before making the commit > is also a simple request that's easily accomplished. That doesn't make > it any less astonishing. There is just no apparent good reason for this > duplication. Thus it astonishes. The reasons exist, and has been described. You may not agree with them, perhaps due to different experience, but that doesn't mean they aren't valid. > > You didn't read what I wrote about the current system. If we stop > > producing ChangeLog files, there will be no reason for having detailed > > enough commit log messages, and soon enough there will be no > > summaries. > > I don't see how one follows from the other. Why isn't whatever measure > you are currently take to ensure detailed ChangeLog files equally > suitable to ensure detailed commit messages? Because if we continue going the way we do, we are sending a very specific message to the future contributors. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 3:38 ` Eli Zaretskii @ 2016-03-08 5:00 ` Nikolaus Rath 2016-03-08 15:59 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Nikolaus Rath @ 2016-03-08 5:00 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Mar 08 2016, Eli Zaretskii <eliz@gnu.org> wrote: >> From: Nikolaus Rath <Nikolaus@rath.org> >> Cc: emacs-devel@gnu.org >> Date: Mon, 07 Mar 2016 13:28:21 -0800 >> >> Asking me to walk three times around my chair before making the commit >> is also a simple request that's easily accomplished. That doesn't make >> it any less astonishing. There is just no apparent good reason for this >> duplication. Thus it astonishes. > > The reasons exist, and has been described. You may not agree with > them, perhaps due to different experience, but that doesn't mean they > aren't valid. Yeah, but what exactly is your point here? I was pointing out that this practice is astonishing for new contributors. You didn't understand why, so I explained that it's astonishing because to a new contributor it seems pointless. Now you assert that there are good reasons for it, but that really doesn't change that, to new contributors, it appears pointless and is astonishing. The only way to change that is probably to come up with a well-written, concise summary of these reasons and include it whenever a submitted patch has to be refused due to a missing changelog entry. >>> You didn't read what I wrote about the current system. If we stop >>> producing ChangeLog files, there will be no reason for having detailed >>> enough commit log messages, and soon enough there will be no >>> summaries. >> >> I don't see how one follows from the other. Why isn't whatever measure >> you are currently take to ensure detailed ChangeLog files equally >> suitable to ensure detailed commit messages? > > Because if we continue going the way we do, we are sending a very > specific message to the future contributors. Sorry, I still don't follow your reasoning. I still consider myself a potential contributor (I didn't contribute much beyond that first little foray), and not requiring me to copy my commit message into the ChangeLog is not going to affect the quality of the commit measures in any way. The only "message" that I get from this is "Great, sending patches for Emacs doesn't require me to do a copy & paste anymore". Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 5:00 ` Nikolaus Rath @ 2016-03-08 15:59 ` Eli Zaretskii 2016-03-08 16:12 ` Nikolaus Rath 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 15:59 UTC (permalink / raw) To: Nikolaus Rath; +Cc: emacs-devel > From: Nikolaus Rath <Nikolaus@rath.org> > Cc: emacs-devel@gnu.org > Date: Mon, 07 Mar 2016 21:00:50 -0800 > > > The reasons exist, and has been described. You may not agree with > > them, perhaps due to different experience, but that doesn't mean they > > aren't valid. > > Yeah, but what exactly is your point here? I was pointing out that this > practice is astonishing for new contributors. You didn't understand why, > so I explained that it's astonishing because to a new contributor it > seems pointless. Now you assert that there are good reasons for it, but > that really doesn't change that, to new contributors, it appears > pointless and is astonishing. My point is that the initial surprise will subside with time, by way of getting used to it. It is even possible that you will come to value this, as someone else who reported here. > Sorry, I still don't follow your reasoning. I still consider myself a > potential contributor (I didn't contribute much beyond that first little > foray), and not requiring me to copy my commit message into the > ChangeLog is not going to affect the quality of the commit measures in > any way. The only "message" that I get from this is "Great, sending > patches for Emacs doesn't require me to do a copy & paste anymore". As long as you don't have write access to the repository, you are not required to provide the log entries more than once, and so this issue doesn't really affect you. This issue is only relevant to those who actually push changes, because they might need to copy/paste into the ChangeLog file. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 15:59 ` Eli Zaretskii @ 2016-03-08 16:12 ` Nikolaus Rath 2016-03-08 16:26 ` Stefan Monnier 2016-03-08 16:44 ` Eli Zaretskii 0 siblings, 2 replies; 454+ messages in thread From: Nikolaus Rath @ 2016-03-08 16:12 UTC (permalink / raw) To: emacs-devel On Mar 08 2016, Eli Zaretskii <eliz@gnu.org> wrote: >> Sorry, I still don't follow your reasoning. I still consider myself a >> potential contributor (I didn't contribute much beyond that first little >> foray), and not requiring me to copy my commit message into the >> ChangeLog is not going to affect the quality of the commit measures in >> any way. The only "message" that I get from this is "Great, sending >> patches for Emacs doesn't require me to do a copy & paste anymore". > > As long as you don't have write access to the repository, you are not > required to provide the log entries more than once, and so this issue > doesn't really affect you. In that case I agree. However, this practice has the distinct disadvantage that a patch's submitter does not show up as the author of the commit. But that's a different discussion. (As I said in the other mail, I was actually working with the Gnus repo rather than the Emacs repo - thus the confusion about what the submitter needs to do). Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 16:12 ` Nikolaus Rath @ 2016-03-08 16:26 ` Stefan Monnier 2016-03-08 16:44 ` Eli Zaretskii 1 sibling, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 16:26 UTC (permalink / raw) To: emacs-devel > In that case I agree. However, this practice has the distinct > disadvantage that a patch's submitter does not show up as the author of > the commit. But that's a different discussion. Normally the committer should setup the "Author:" info properly (and if the commit message is auto-extracted from the ChangeLog file, this should happen automatically by extracting the author's name from the ChangeLog), so the author is properly recorded in the VCS (even if he's not the committer). Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 16:12 ` Nikolaus Rath 2016-03-08 16:26 ` Stefan Monnier @ 2016-03-08 16:44 ` Eli Zaretskii 1 sibling, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 16:44 UTC (permalink / raw) To: Nikolaus Rath; +Cc: emacs-devel > From: Nikolaus Rath <Nikolaus@rath.org> > Date: Tue, 08 Mar 2016 08:12:22 -0800 > > > As long as you don't have write access to the repository, you are not > > required to provide the log entries more than once, and so this issue > > doesn't really affect you. > > In that case I agree. However, this practice has the distinct > disadvantage that a patch's submitter does not show up as the author of > the commit. No, this is a misunderstanding: the submitter _always_ appears as the author, just not as the committer. We use the --author switch for that. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:23 ` Eli Zaretskii 2016-03-07 21:28 ` Nikolaus Rath @ 2016-03-07 21:32 ` Karl Fogel 1 sibling, 0 replies; 454+ messages in thread From: Karl Fogel @ 2016-03-07 21:32 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Nikolaus Rath, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >You didn't read what I wrote about the current system. If we stop >producing ChangeLog files, there will be no reason for having detailed >enough commit log messages, and soon enough there will be no >summaries. This has not been the case in the other projects I work in (none of which use ChangeLog files). Log message discipline is maintained socially for commit messages just as it would be for ChangeLog entries. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 20:46 ` Nikolaus Rath 2016-03-07 21:04 ` Eric S. Raymond 2016-03-07 21:10 ` Eli Zaretskii @ 2016-03-07 21:19 ` Dmitry Gutov 2016-03-07 21:43 ` Karl Fogel 2016-03-07 21:30 ` Lars Magne Ingebrigtsen 2016-03-08 3:30 ` Stefan Monnier 4 siblings, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-03-07 21:19 UTC (permalink / raw) To: emacs-devel On 03/07/2016 10:46 PM, Nikolaus Rath wrote: > When I submitted my first Emacs patch, I was astonished when I was asked > to re-submit with my commit message essentially duplicated in the > ChangeLog. Was your commit message already written in ChangeLog format? > How can it be an increased burden if reviewers have to review just one > thing (the commit message) instead of two (commit message and > ChangeLog)? Eli was stating something more general, but to get into specifics: often, I only need to read the patch's introduction (high-level description), and its ChangeLog entry, to understand it well enough. A diff contains the same information, but it's usually longer, could be harder to read, and often you don't see right away which function a given change is being changed, especially if the function is long, and the change is right in the middle of it (though that can be alleviated with language-specific diff options). And then, I can look through the diff, compare it against the ChangeLog, and see if there are any discrepancies. So the odds of getting some unrelated changes (or missing some related ones) is lower. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:19 ` Dmitry Gutov @ 2016-03-07 21:43 ` Karl Fogel 2016-03-07 22:01 ` Dmitry Gutov 2016-03-08 15:48 ` Eli Zaretskii 0 siblings, 2 replies; 454+ messages in thread From: Karl Fogel @ 2016-03-07 21:43 UTC (permalink / raw) To: emacs-devel Dmitry Gutov <dgutov@yandex.ru> writes: >On 03/07/2016 10:46 PM, Nikolaus Rath wrote: >> How can it be an increased burden if reviewers have to review just one >> thing (the commit message) instead of two (commit message and >> ChangeLog)? > >Eli was stating something more general, but to get into specifics: >often, I only need to read the patch's introduction (high-level >description), and its ChangeLog entry, to understand it well enough. > >A diff contains the same information, but it's usually longer, could >be harder to read, and often you don't see right away which function a >given change is being changed, especially if the function is long, and >the change is right in the middle of it (though that can be alleviated >with language-specific diff options). > >And then, I can look through the diff, compare it against the >ChangeLog, and see if there are any discrepancies. So the odds of >getting some unrelated changes (or missing some related ones) is >lower. So much about this conversation is baffling to me :-). Let's please take it for granted that everyone who's suggesting to get rid of ChangeLog files is also assuming that we would, of course, use the same conventions for writing git commit messages that we would use for writing ChangeLog entries. (As far as I can tell, everyone who wants to get rid of ChangeLog files has either expressed that assumption explicitly or implied it pretty clearly. ) Of course, one can view the diff any time, and a good log entry should prepare the reader's mind for comprehending the diff. Whether that entry's text is stored in just the VC system commit logs, or in the commit log *and* in a ChangeLog entry, shouldn't affect one's ability to use the text to understand the change. Dmitry, you seem to be saying that a "patch's introduction (high-level description), and its ChangeLog entry" are two different things. That's confusing, to me at least. The commit message should be the introduction to the patch *and* should be the same as the ChangeLog entry (if one is keeping separate ChangeLog files). At least, that's what those of us on the no-ChangeLogs side are saying. Again, if the majority of people like Eli who do tons of work around here would prefer to keep ChangeLogs, then I'm in favor of doing so. But it would be nice to be de-confused about the arguments for it. Many of those arguments seem to be based on the idea that the ChangeLog entry is somehow *different* from the VC system commit message -- which no one is proposing, as far as I can tell. Best regards, -Karl ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:43 ` Karl Fogel @ 2016-03-07 22:01 ` Dmitry Gutov 2016-03-07 22:24 ` Karl Fogel 2016-03-08 15:48 ` Eli Zaretskii 1 sibling, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-03-07 22:01 UTC (permalink / raw) To: Karl Fogel, emacs-devel On 03/07/2016 11:43 PM, Karl Fogel wrote: > Let's please take it for granted that everyone who's suggesting to get rid of ChangeLog files is also assuming that we would, of course, use the same conventions for writing git commit messages that we would use for writing ChangeLog entries. (As far as I can tell, everyone who wants to get rid of ChangeLog files has either expressed that assumption explicitly or implied it pretty clearly. ) Not so. Many messages in this thread are saying different. > Dmitry, you seem to be saying that a "patch's introduction (high-level description), and its ChangeLog entry" are two different things. A ChangeLog entry has a well-defined format. It can also start with a free-form description. Whether the latter is a part of it or not, is not 100% important. Point is, it is a distinct entity, and I can refer to it. The high-level description may also come separately, in a message to the bug tracker or the mailing list. That one may go into more detail. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 22:01 ` Dmitry Gutov @ 2016-03-07 22:24 ` Karl Fogel 2016-03-07 22:45 ` Dmitry Gutov 2016-03-08 15:21 ` Andy Moreton 0 siblings, 2 replies; 454+ messages in thread From: Karl Fogel @ 2016-03-07 22:24 UTC (permalink / raw) To: Dmitry Gutov; +Cc: emacs-devel Dmitry Gutov <dgutov@yandex.ru> writes: >On 03/07/2016 11:43 PM, Karl Fogel wrote: >> Let's please take it for granted that everyone who's suggesting to >> get rid of ChangeLog files is also assuming that we would, of >> course, use the same conventions for writing git commit messages >> that we would use for writing ChangeLog entries. (As far as I can >> tell, everyone who wants to get rid of ChangeLog files has either >> expressed that assumption explicitly or implied it pretty clearly. >> ) > >Not so. Many messages in this thread are saying different. I looked again -- who are these "many"? I don't see any messages from someone who both advocates that we get rid of ChangeLogs *and* suggests that we should not use the same format for commit messages as we currently do for ChangeLogs. (Andy Moreton suggested something about how we could have improved standards about what we put in a change description in general, but that's different and orthogonal to this discussion.) Please let me know if I missed a post, though. >A ChangeLog entry has a well-defined format. It can also start with a >free-form description. Whether the latter is a part of it or not, is >not 100% important. Point is, it is a distinct entity, and I can refer >to it. A commit message is a distinct entity, and you can refer to it. >The high-level description may also come separately, in a message to >the bug tracker or the mailing list. That one may go into more detail. Well, one can just include that in the commit message. My point is just that if it's appropriate for a ChangeLog entry, then it's appropriate for a commit message, and vice versa. I mean, at least for my commits, the former have always just been a literal copy of the latter, even when doing it manually :-). Best regards, -Karl ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 22:24 ` Karl Fogel @ 2016-03-07 22:45 ` Dmitry Gutov 2016-03-07 22:47 ` Dmitry Gutov 2016-03-07 23:24 ` Karl Fogel 2016-03-08 15:21 ` Andy Moreton 1 sibling, 2 replies; 454+ messages in thread From: Dmitry Gutov @ 2016-03-07 22:45 UTC (permalink / raw) To: Karl Fogel; +Cc: emacs-devel On 03/08/2016 12:24 AM, Karl Fogel wrote: > I looked again -- who are these "many"? ESR, Óscar, Andy. Maybe others. > (Andy Moreton suggested something about how we could have improved standards about what we put in a change description in general, but that's different and orthogonal to this discussion.) Not necessarily improved, but different standards (see "actively harmful" in his message). > Well, one can just include that in the commit message. My point is just that if it's appropriate for a ChangeLog entry, then it's appropriate for a commit message, and vice versa. I mean, at least for my commits, the former have always just been a literal copy of the latter, even when doing it manually :-). How is this relevant? I was describing how the Change Log entries submitted together with a patch help reviewing it now. So of course I'm referring to the current practice, where the commit message includes the Change Log entry. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 22:45 ` Dmitry Gutov @ 2016-03-07 22:47 ` Dmitry Gutov 2016-03-07 23:24 ` Karl Fogel 1 sibling, 0 replies; 454+ messages in thread From: Dmitry Gutov @ 2016-03-07 22:47 UTC (permalink / raw) To: Karl Fogel; +Cc: emacs-devel On 03/08/2016 12:45 AM, Dmitry Gutov wrote: > On 03/08/2016 12:24 AM, Karl Fogel wrote: > >> I looked again -- who are these "many"? > > ESR, Óscar, Andy. Maybe others. Also John, of course. The Emacs Maintainer one. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 22:45 ` Dmitry Gutov 2016-03-07 22:47 ` Dmitry Gutov @ 2016-03-07 23:24 ` Karl Fogel 2016-03-08 1:25 ` Dmitry Gutov 1 sibling, 1 reply; 454+ messages in thread From: Karl Fogel @ 2016-03-07 23:24 UTC (permalink / raw) To: Dmitry Gutov; +Cc: emacs-devel Dmitry Gutov <dgutov@yandex.ru> writes: >On 03/08/2016 12:24 AM, Karl Fogel wrote: >> I looked again -- who are these "many"? > >ESR, Óscar, Andy. Maybe others. >Also John, of course. The Emacs Maintainer one. Uh, hmm. We are having some sort of miscommunication. I can't figure out what it is, because I expressed myself as precisely as I can -- and when I look at their messages, in this thread and the related thread, what they're saying is compatible with what I described them as saying. <shrug> :-) ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 23:24 ` Karl Fogel @ 2016-03-08 1:25 ` Dmitry Gutov 0 siblings, 0 replies; 454+ messages in thread From: Dmitry Gutov @ 2016-03-08 1:25 UTC (permalink / raw) To: Karl Fogel; +Cc: emacs-devel On 03/08/2016 01:24 AM, Karl Fogel wrote: > Dmitry Gutov <dgutov@yandex.ru> writes: >> On 03/08/2016 12:24 AM, Karl Fogel wrote: >>> I looked again -- who are these "many"? >> >> ESR, Óscar, Andy. Maybe others. >> Also John, of course. The Emacs Maintainer one. > > Uh, hmm. We are having some sort of miscommunication. I can't figure out what it is, because I expressed myself as precisely as I can -- and when I look at their messages, in this thread and the related thread, what they're saying is compatible with what I described them as saying. You're saying everyone agrees to at least continue including Change Log entries in commit messages. The persons above are counter-examples. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 22:24 ` Karl Fogel 2016-03-07 22:45 ` Dmitry Gutov @ 2016-03-08 15:21 ` Andy Moreton 2016-03-08 16:21 ` Eli Zaretskii 1 sibling, 1 reply; 454+ messages in thread From: Andy Moreton @ 2016-03-08 15:21 UTC (permalink / raw) To: emacs-devel On Mon 07 Mar 2016, Karl Fogel wrote: > Dmitry Gutov <dgutov@yandex.ru> writes: >>On 03/07/2016 11:43 PM, Karl Fogel wrote: >>> Let's please take it for granted that everyone who's suggesting to >>> get rid of ChangeLog files is also assuming that we would, of >>> course, use the same conventions for writing git commit messages >>> that we would use for writing ChangeLog entries. (As far as I can >>> tell, everyone who wants to get rid of ChangeLog files has either >>> expressed that assumption explicitly or implied it pretty clearly. >>> ) >> >>Not so. Many messages in this thread are saying different. > > I looked again -- who are these "many"? I don't see any messages from someone > who both advocates that we get rid of ChangeLogs *and* suggests that we should > not use the same format for commit messages as we currently do for ChangeLogs. > (Andy Moreton suggested something about how we could have improved standards > about what we put in a change description in general, but that's different and > orthogonal to this discussion.) > > Please let me know if I missed a post, though. For the avoidance of doubt, I think that the changelog format describing the contents of the diff should not be included in the git commit message, as it is a pointless duplication of information that the diff already provides. Let the version control system handle what changed, and put much more emphasis on describing why the patch exists. AndyM ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 15:21 ` Andy Moreton @ 2016-03-08 16:21 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 16:21 UTC (permalink / raw) To: Andy Moreton; +Cc: emacs-devel > From: Andy Moreton <andrewjmoreton@gmail.com> > Date: Tue, 08 Mar 2016 15:21:07 +0000 > > For the avoidance of doubt, I think that the changelog format describing > the contents of the diff should not be included in the git commit > message, as it is a pointless duplication of information that the diff > already provides. Let the version control system handle what changed, > and put much more emphasis on describing why the patch exists. I don't think anyone is arguing with that. We don't tell contributors to describe the changes literally. For example, if the change is i = i + 1; then saying "add 1 to i" is a very bad log entry. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:43 ` Karl Fogel 2016-03-07 22:01 ` Dmitry Gutov @ 2016-03-08 15:48 ` Eli Zaretskii 1 sibling, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 15:48 UTC (permalink / raw) To: Karl Fogel; +Cc: emacs-devel > From: Karl Fogel <kfogel@red-bean.com> > Date: Mon, 07 Mar 2016 15:43:29 -0600 > > Again, if the majority of people like Eli who do tons of work around here would prefer to keep ChangeLogs, then I'm in favor of doing so. But it would be nice to be de-confused about the arguments for it. I've posted my arguments. In a nutshell, maintaining the logs in the VCS doesn't allow us to fix mistakes there (which then get propagated to the generated ChangeLog), and the way we designed to work around this breaks down when we have more than one active branch. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 20:46 ` Nikolaus Rath ` (2 preceding siblings ...) 2016-03-07 21:19 ` Dmitry Gutov @ 2016-03-07 21:30 ` Lars Magne Ingebrigtsen 2016-03-08 3:41 ` Eli Zaretskii 2016-03-08 16:54 ` John Wiegley 2016-03-08 3:30 ` Stefan Monnier 4 siblings, 2 replies; 454+ messages in thread From: Lars Magne Ingebrigtsen @ 2016-03-07 21:30 UTC (permalink / raw) To: emacs-devel Nikolaus Rath <Nikolaus@rath.org> writes: > When I submitted my first Emacs patch, I was astonished when I was asked > to re-submit with my commit message essentially duplicated in the > ChangeLog. And I think this is essential input. We are alienating contributors by insisting on our weird (ok, "unusual") format of the meta data of the patches. The ChangeLog is useful for some of us. But I would contend that its usefulness doesn't trump all the contributors we have discouraged by insisting on our quite singular submission format. `M-x vc-region-history' is much, much more useful, in my opinion, than perusing ChangeLogs. Especially if the text people write is more than a reiteration of what the VC logs already tell us. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:30 ` Lars Magne Ingebrigtsen @ 2016-03-08 3:41 ` Eli Zaretskii 2016-03-08 16:54 ` John Wiegley 1 sibling, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 3:41 UTC (permalink / raw) To: Lars Magne Ingebrigtsen; +Cc: emacs-devel > From: Lars Magne Ingebrigtsen <larsi@gnus.org> > Date: Mon, 07 Mar 2016 22:30:04 +0100 > > Nikolaus Rath <Nikolaus@rath.org> writes: > > > When I submitted my first Emacs patch, I was astonished when I was asked > > to re-submit with my commit message essentially duplicated in the > > ChangeLog. > > And I think this is essential input. We are alienating contributors by > insisting on our weird (ok, "unusual") format of the meta data of the > patches. I don't think we are alienating them. The difference wrt what we request now is almost nonexistent. And it's not unusual to request ChangeLog entries, many projects do that. So the change I propose is not as dramatic as it sounds. It does fix a grave problem we have lately, and it will allow us to switch to more elaborate workflows in the future. > The ChangeLog is useful for some of us. But I would contend that its > usefulness doesn't trump all the contributors we have discouraged by > insisting on our quite singular submission format. It's not singular. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:30 ` Lars Magne Ingebrigtsen 2016-03-08 3:41 ` Eli Zaretskii @ 2016-03-08 16:54 ` John Wiegley 2016-03-08 17:18 ` Karl Fogel ` (2 more replies) 1 sibling, 3 replies; 454+ messages in thread From: John Wiegley @ 2016-03-08 16:54 UTC (permalink / raw) To: Lars Magne Ingebrigtsen; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 4338 bytes --] >>>>> Lars Magne Ingebrigtsen <larsi@gnus.org> writes: > And I think this is essential input. We are alienating contributors by > insisting on our weird (ok, "unusual") format of the meta data of the > patches. > > The ChangeLog is useful for some of us. But I would contend that its > usefulness doesn't trump all the contributors we have discouraged by > insisting on our quite singular submission format. Thank you, Lars, you have pretty much summed up my own concerns. To summarize several of the points in this thread so far: - First, and most importantly, we have significant contributors who rely on and enjoy the ChangeLog file -- even if there are others, and potential contributors, who dislike it. If people doing the "real work" are using this file, we should keep it. If they want to maintain it as a separate file in Git, we should let them. Even if it costs time to maintain it, or explain its necessity to newcomers, it's worth it to support those who do the lion's share of the work. However: once this situation changes, we should revisit the issue. I am prepared to drop separate ChangeLog files (generated or not) the moment our primary developers say they no longer need it. - The ChangeLog format helps to structure commit messages. I like this point, and agree that it sets a "bar" for commit log content. Whatever helps us raise the calibre of our commit messages makes sense to me. However, if we ever find that we're not reading that data while using vc-region-history or some other tool, we should revisit this point. - Commit messages cannot be edited. This is an area where "git notes" could, in fact, help. The idea is not that we use git notes for every commit, to provide ChangeLog data, but use them to "amend" commit log messages. That way, when generating the ChangeLog for release, a git note can override a commit message, correcting what appears in the final ChangeLog. Using git notes in this way should almost entirely eliminate its merge issues, and we'd be using it for its intended purpose: notes on specific commits. In summary, I see two viable paths before us: 1. Go back to the old way of doing things, using a separately maintained ChangeLog file. As long as that's what our main contributors want, I believe it's what we should do. Even if we lose some new contributors, we should show support for those devoting the most time to our project. 2. At some future date, should the main contributors no longer rely on or want a separate ChangeLog file, we should: - Remove ChangeLogs from version control. - Require ChangeLog format entries in the commit message, as long as it helps us and improves the quality of contributed commit messages. - Employ some mechanism, such as git notes, to amend incorrect log messages when generating metadata for the release tarball. Our present mechanism, of maintaining a generated file under version control, is currently agitating some of our core contributors, nor does it free us from ChangeLogs. Rather, it's a compromise alternative that includes some of the worst aspects of both options (e.g., inability to edit commit messages; merge problems with ChangeLogs; annoying primary contributors; needs tooling to handle the generation). That said, I want to make sure that we're actually hearing from all our "core contributors" in this discussion. Can I hear from some of the other large- scale contributors? For the sake of argument, here is everyone who has made more than 500 commits in the past five years (git shortlog --since 2011): 4467 Glenn Morris 3582 Paul Eggert #2 2543 Eli Zaretskii #1 1822 Stefan Monnier #2 1062 Chong Yidong 759 Michael Albinus 675 Lars Magne Ingebrigtsen #2 653 Dmitry Antipov 639 Juanma Barranquero If there are others who have only recently become highly active, please pitch in also. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 629 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 16:54 ` John Wiegley @ 2016-03-08 17:18 ` Karl Fogel 2016-03-08 17:21 ` John Wiegley 2016-03-08 19:03 ` Stefan Monnier 2016-03-08 20:28 ` Óscar Fuentes 2 siblings, 1 reply; 454+ messages in thread From: Karl Fogel @ 2016-03-08 17:18 UTC (permalink / raw) To: Lars Magne Ingebrigtsen; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1680 bytes --] John Wiegley <jwiegley@gmail.com> writes: > 2. At some future date, should the main contributors no longer rely on or > want a separate ChangeLog file, we should: > > - Remove ChangeLogs from version control. > - Require ChangeLog format entries in the commit message, as long as it > helps us and improves the quality of contributed commit messages. > - Employ some mechanism, such as git notes, to amend incorrect log > messages when generating metadata for the release tarball. Aren't we doing that middle item already? As I read the CONTRIBUTE file, the section on "commit messages" basically says to use ChangeLog style. Which is good. Since a ChangeLog entry is always suitable as a commit message (i.e., there is no good ChangeLog entry which wouldn't work fine as the commit message for the associated commit too), then there's no time like the present to start having a commit message convention we can all agree on. Since we've already agreed on ChangeLog-style entries for ChangeLogs, I think we would also agree on it for commit messages... and CONTRIBUTE suggests that we have already done so. This is orthogonal to whether we keep ChangeLog *files* in the tree, of course. It just settles that we have one unified convention for log messages, and that convention applies to both of the places where log messages can be stored: in commit messages, and in ChangeLog files. So the only remaining question is about where information should be stored (and, if there is duplication, whether that duplication should be maintained manually or automatically). The question of what the information looks like is, I hope, already settled. -Karl [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 818 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 17:18 ` Karl Fogel @ 2016-03-08 17:21 ` John Wiegley 2016-03-08 17:35 ` Karl Fogel 2016-03-08 17:40 ` Eli Zaretskii 0 siblings, 2 replies; 454+ messages in thread From: John Wiegley @ 2016-03-08 17:21 UTC (permalink / raw) To: Karl Fogel; +Cc: Lars Magne Ingebrigtsen, emacs-devel >>>>> Karl Fogel <kfogel@red-bean.com> writes: > So the only remaining question is about where information should be stored > (and, if there is duplication, whether that duplication should be maintained > manually or automatically). The question of what the information looks like > is, I hope, already settled. Yes, I was only mentioning it for the sake of completeness. We have already accomplished the second bullet of option #2, and have no intention of changing that, as it does have a positive impact on our commit message quality. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 17:21 ` John Wiegley @ 2016-03-08 17:35 ` Karl Fogel 2016-03-08 17:40 ` Eli Zaretskii 1 sibling, 0 replies; 454+ messages in thread From: Karl Fogel @ 2016-03-08 17:35 UTC (permalink / raw) To: emacs-devel John Wiegley <jwiegley@gmail.com> writes: >>>>>> Karl Fogel <kfogel@red-bean.com> writes: >> So the only remaining question is about where information should be stored >> (and, if there is duplication, whether that duplication should be maintained >> manually or automatically). The question of what the information looks like >> is, I hope, already settled. > >Yes, I was only mentioning it for the sake of completeness. We have already >accomplished the second bullet of option #2, and have no intention of changing >that, as it does have a positive impact on our commit message quality. 100% agreed, and glad to hear it! ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 17:21 ` John Wiegley 2016-03-08 17:35 ` Karl Fogel @ 2016-03-08 17:40 ` Eli Zaretskii 2016-03-08 18:19 ` Karl Fogel 1 sibling, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 17:40 UTC (permalink / raw) To: John Wiegley; +Cc: kfogel, larsi, emacs-devel > From: John Wiegley <jwiegley@gmail.com> > Date: Tue, 08 Mar 2016 09:21:20 -0800 > Cc: Lars Magne Ingebrigtsen <larsi@gnus.org>, emacs-devel@gnu.org > > >>>>> Karl Fogel <kfogel@red-bean.com> writes: > > > So the only remaining question is about where information should be stored > > (and, if there is duplication, whether that duplication should be maintained > > manually or automatically). The question of what the information looks like > > is, I hope, already settled. > > Yes, I was only mentioning it for the sake of completeness. We have already > accomplished the second bullet of option #2, and have no intention of changing > that, as it does have a positive impact on our commit message quality. Just to put the record straight: we've been using the ChangeLog format in the commit log message since forever, certainly during the CVS days. It's not a recent invention in any way. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 17:40 ` Eli Zaretskii @ 2016-03-08 18:19 ` Karl Fogel 0 siblings, 0 replies; 454+ messages in thread From: Karl Fogel @ 2016-03-08 18:19 UTC (permalink / raw) To: Eli Zaretskii; +Cc: larsi, John Wiegley, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> Yes, I was only mentioning it for the sake of completeness. We have already >> accomplished the second bullet of option #2, and have no intention of changing >> that, as it does have a positive impact on our commit message quality. > >Just to put the record straight: we've been using the ChangeLog format >in the commit log message since forever, certainly during the CVS >days. It's not a recent invention in any way. I think it's a good requirement, though a quick trawl through the output of 'git log --name-status' shows that not everyone has always obeyed it. (However, the standard does seem be more adhered to the closer we get to the present, so things have been moving in the right direction.) ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 16:54 ` John Wiegley 2016-03-08 17:18 ` Karl Fogel @ 2016-03-08 19:03 ` Stefan Monnier 2016-03-08 20:28 ` Óscar Fuentes 2 siblings, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 19:03 UTC (permalink / raw) To: emacs-devel > - Commit messages cannot be edited. > This is an area where "git notes" could, in fact, help. The idea > is not that we use git notes for every commit, to provide > ChangeLog data, but use them to "amend" commit log messages. > That way, when generating the ChangeLog for release, a git note > can override a commit message, correcting what appears in the > final ChangeLog. I agree that this problem can be solved. I'm far from convinced that "git notes" can be part of such a solution, but if it works: fine by me. But I don't want to only fix the generated ChangeLog files. I'd like the fixed text to appear at least in `vc-region-history' and `vc-print-log'. Otherwise, it's a lot of work that doesn't help me. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 16:54 ` John Wiegley 2016-03-08 17:18 ` Karl Fogel 2016-03-08 19:03 ` Stefan Monnier @ 2016-03-08 20:28 ` Óscar Fuentes 2016-03-08 20:37 ` Eli Zaretskii 2 siblings, 1 reply; 454+ messages in thread From: Óscar Fuentes @ 2016-03-08 20:28 UTC (permalink / raw) To: emacs-devel John Wiegley <jwiegley@gmail.com> writes: >> The ChangeLog is useful for some of us. But I would contend that its >> usefulness doesn't trump all the contributors we have discouraged by >> insisting on our quite singular submission format. ChangeLogs also have a big impact when long-lived branches need to be merged, and IIRC are a major pain for external projects that periodically merge with Emacs (org). > Thank you, Lars, you have pretty much summed up my own concerns. > > To summarize several of the points in this thread so far: > > - First, and most importantly, we have significant contributors who rely on > and enjoy the ChangeLog file -- even if there are others, and potential > contributors, who dislike it. > > If people doing the "real work" are using this file, we should > keep it. Why not explore the possibility of giving the information they want from the VC system? As I see this issue, the ChangeLog is seen as indispensable by those who don't know how to use Git. We can ask them about their requirements and try to provide the necessary Emacs commands. [snip] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 20:28 ` Óscar Fuentes @ 2016-03-08 20:37 ` Eli Zaretskii 2016-03-08 21:25 ` Ingo Lohmar 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 20:37 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel > From: Óscar Fuentes <ofv@wanadoo.es> > Date: Tue, 08 Mar 2016 21:28:24 +0100 > > John Wiegley <jwiegley@gmail.com> writes: > > >> The ChangeLog is useful for some of us. But I would contend that its > >> usefulness doesn't trump all the contributors we have discouraged by > >> insisting on our quite singular submission format. > > ChangeLogs also have a big impact when long-lived branches need to be > merged, and IIRC are a major pain for external projects that > periodically merge with Emacs (org). With or without git-merge-changelog installed? With it the problems should be minimal or non-existent, IME. > > - First, and most importantly, we have significant contributors who rely on > > and enjoy the ChangeLog file -- even if there are others, and potential > > contributors, who dislike it. > > > > If people doing the "real work" are using this file, we should > > keep it. > > Why not explore the possibility of giving the information they want from > the VC system? As I see this issue, the ChangeLog is seen as > indispensable by those who don't know how to use Git. We can ask them > about their requirements and try to provide the necessary Emacs > commands. Using Git is not a problem for me. The problem is that the information in Git log is unreliable. The other problem is that will never succeed in teaching new contributors how to make good log messages unless we have an easy way of fixing mistakes there. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 20:37 ` Eli Zaretskii @ 2016-03-08 21:25 ` Ingo Lohmar 2016-03-08 21:36 ` Alan Mackenzie 2016-03-09 3:46 ` Eli Zaretskii 0 siblings, 2 replies; 454+ messages in thread From: Ingo Lohmar @ 2016-03-08 21:25 UTC (permalink / raw) To: Eli Zaretskii, Óscar Fuentes; +Cc: emacs-devel On Tue, Mar 08 2016 22:37 (+0200), Eli Zaretskii wrote: > Using Git is not a problem for me. The problem is that the > information in Git log is unreliable. The other problem is that will > never succeed in teaching new contributors how to make good log > messages unless we have an easy way of fixing mistakes there. Some arguments in this thread are repeated ad infinitum although they don't seem to stand a little scrutiny. "git log" messages cannot technically be both immutable and unreliable: At least there is some severely imprecise use of language going on. As to the teaching argument: I have read every single message in this thread, and nobody has argued for lower (but several people for higher) commit message standards. In contrast to your opinion, it seems to me that fixing mistakes in the Changelogs teaches a contributor who has committed with a flawed commit message that it's not really important. They, or somebody else, can clean up their (incl. possibly my) mess. As Oscar has argued, having the original commit rejected (by means to be discussed, and only until people have shown good judgment and discipline) teaches them that commit messages matter. The whole argument for Changelogs comes down to a) being an established band-aid to clean up spilt milk, or b) providing a fixed-form summary of things that can be obtained using the VCS (provided the humans or tools wirting the Changelog are as "reliable" as the VCS). ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 21:25 ` Ingo Lohmar @ 2016-03-08 21:36 ` Alan Mackenzie 2016-03-09 19:32 ` Ingo Lohmar 2016-03-09 3:46 ` Eli Zaretskii 1 sibling, 1 reply; 454+ messages in thread From: Alan Mackenzie @ 2016-03-08 21:36 UTC (permalink / raw) To: Ingo Lohmar; +Cc: Óscar Fuentes, Eli Zaretskii, emacs-devel Hello, Ingo. On Tue, Mar 08, 2016 at 10:25:35PM +0100, Ingo Lohmar wrote: > On Tue, Mar 08 2016 22:37 (+0200), Eli Zaretskii wrote: > > Using Git is not a problem for me. The problem is that the > > information in Git log is unreliable. The other problem is that will > > never succeed in teaching new contributors how to make good log > > messages unless we have an easy way of fixing mistakes there. > Some arguments in this thread are repeated ad infinitum although they > don't seem to stand a little scrutiny. "git log" messages cannot > technically be both immutable and unreliable: At least there is some > severely imprecise use of language going on. If a git log message starts off life unreliable (i.e. there are mistakes in it) it can never be corrected. It stays unreliable for the lifetime of the repository. > As to the teaching argument: I have read every single message in this > thread, and nobody has argued for lower (but several people for higher) > commit message standards. > In contrast to your opinion, it seems to me that fixing mistakes in the > Changelogs teaches a contributor who has committed with a flawed commit > message that it's not really important. They, or somebody else, can > clean up their (incl. possibly my) mess. As Oscar has argued, having > the original commit rejected (by means to be discussed, and only until > people have shown good judgment and discipline) teaches them that commit > messages matter. I am an experienced Emacs contributor, and I have, even recently, made mistakes in my commit messages. I resent the fact that it is so difficult to correct them, even before pushing to savannah. I don't think I need any teaching on the importance of good commit messages. > The whole argument for Changelogs comes down to a) being an established > band-aid to clean up spilt milk, or b) providing a fixed-form summary of > things that can be obtained using the VCS (provided the humans or tools > wirting the Changelog are as "reliable" as the VCS). Not everybody has access to the git repository, and not everybody who has is capable of using it effectively. ChangeLogs remain a useful, easy to use summary of Emacs's progress. -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 21:36 ` Alan Mackenzie @ 2016-03-09 19:32 ` Ingo Lohmar 2016-03-09 20:06 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Ingo Lohmar @ 2016-03-09 19:32 UTC (permalink / raw) To: emacs-devel Hi Alan, On Tue, Mar 08 2016 21:36 (+0000), Alan Mackenzie wrote: > If a git log message starts off life unreliable (i.e. there are mistakes > in it) it can never be corrected. It stays unreliable for the lifetime > of the repository. That's pretty much what I meant. It may not contain the information you (and I) would like to see in it, but it is highly reliable in that it is the message that was used to describe the commit. I would like to apologize if this comes about as nitpicking. > I am an experienced Emacs contributor, and I have, even recently, made > mistakes in my commit messages. I resent the fact that it is so > difficult to correct them, even before pushing to savannah. I don't > think I need any teaching on the importance of good commit messages. I make a lot of mistakes in commit messages, and I do not agree that it is difficult to fix them before pushing. You surely don't need any teaching about commit messages, but Eli has repeatedly referred to those who do, and I try to counter the argument that Changelog fixing teaches them a *good* lesson. > Not everybody has access to the git repository, and not everybody who > has is capable of using it effectively. ChangeLogs remain a useful, > easy to use summary of Emacs's progress. I cannot speak for anybody but myself. When I am a user of Emacs, trying to get an idea of what has changed on the level of detail that the Changelog provides, I would rather go to the authoritative source, if online (without any repository) at http://git.savannah.gnu.org/cgit/emacs.git. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 19:32 ` Ingo Lohmar @ 2016-03-09 20:06 ` Eli Zaretskii 2016-03-09 20:22 ` Ingo Lohmar 2016-03-10 21:21 ` Richard Stallman 0 siblings, 2 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 20:06 UTC (permalink / raw) To: Ingo Lohmar; +Cc: emacs-devel > From: Ingo Lohmar <i.lohmar@gmail.com> > Date: Wed, 09 Mar 2016 20:32:28 +0100 > > > If a git log message starts off life unreliable (i.e. there are mistakes > > in it) it can never be corrected. It stays unreliable for the lifetime > > of the repository. > > That's pretty much what I meant. It may not contain the information you > (and I) would like to see in it, but it is highly reliable in that it is > the message that was used to describe the commit. Yeah, it's a reliable lie. How helpful is that? > > I am an experienced Emacs contributor, and I have, even recently, made > > mistakes in my commit messages. I resent the fact that it is so > > difficult to correct them, even before pushing to savannah. I don't > > think I need any teaching on the importance of good commit messages. > > I make a lot of mistakes in commit messages, and I do not agree that it > is difficult to fix them before pushing. Indeed, it isn't difficult. But since mistakes do get pushed, I guess people are not careful enough to review their commits before pushing, or else we wouldn't be having this conversation, and there would be no need for the procedures to correct pushed commits with mistaken log messages. > You surely don't need any teaching about commit messages, but Eli > has repeatedly referred to those who do, and I try to counter the > argument that Changelog fixing teaches them a *good* lesson. Telling the wrongdoer to clean up their mess surely does teach them a lesson. It could well be the lesson we both agree is the best one: review your commits before pushing. I hope you agree that NOT fixing the mistakes teaches them an entirely different lesson, the one we think is undesirable: that mistakes don't matter, and eventually that the log messages don't matter, as long as they say _something_. > > Not everybody has access to the git repository, and not everybody who > > has is capable of using it effectively. ChangeLogs remain a useful, > > easy to use summary of Emacs's progress. > > I cannot speak for anybody but myself. When I am a user of Emacs, > trying to get an idea of what has changed on the level of detail that > the Changelog provides, I would rather go to the authoritative source, > if online (without any repository) at > http://git.savannah.gnu.org/cgit/emacs.git. I guess you never had to work in segregated networks, where access to the outside world is not available. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 20:06 ` Eli Zaretskii @ 2016-03-09 20:22 ` Ingo Lohmar 2016-03-09 20:48 ` Eli Zaretskii 2016-03-10 21:21 ` Richard Stallman 1 sibling, 1 reply; 454+ messages in thread From: Ingo Lohmar @ 2016-03-09 20:22 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Wed, Mar 09 2016 22:06 (+0200), Eli Zaretskii wrote: >> That's pretty much what I meant. It may not contain the information you >> (and I) would like to see in it, but it is highly reliable in that it is >> the message that was used to describe the commit. > > Yeah, it's a reliable lie. How helpful is that? This discussion is about the content, not the technical merits of immutability. As I said, I am happy to drop the nitpicking. >> I make a lot of mistakes in commit messages, and I do not agree that it >> is difficult to fix them before pushing. > > Indeed, it isn't difficult. But since mistakes do get pushed, I guess > people are not careful enough to review their commits before pushing, > or else we wouldn't be having this conversation, and there would be no > need for the procedures to correct pushed commits with mistaken log > messages. It happens to the most careful people, correct. > Telling the wrongdoer to clean up their mess surely does teach them a > lesson. It could well be the lesson we both agree is the best one: > review your commits before pushing. > > I hope you agree that NOT fixing the mistakes teaches them an entirely > different lesson, the one we think is undesirable: that mistakes don't > matter, and eventually that the log messages don't matter, as long as > they say _something_. We completely agree on the best lesson and the importance of fixing mistakes. We probably disagree on what is a good way to actually teach them the lesson. We also seem to disagree on good ways of "fixing", or ways to avoid the need for after-the-fact fixing. >> I cannot speak for anybody but myself. When I am a user of Emacs, >> trying to get an idea of what has changed on the level of detail that >> the Changelog provides, I would rather go to the authoritative source, >> if online (without any repository) at >> http://git.savannah.gnu.org/cgit/emacs.git. > > I guess you never had to work in segregated networks, where access to > the outside world is not available. In any case, I was speaking mostly hypothetically. I am either interested in a high-level description of some changes that might affect me, or cool new things to try, in which case I look at NEWS. Or I am interested in details of what a function does differently now, or a changed call signature or whatever --- in that case, I have never found the Changelog to be sufficiently detailed. Instead I will look (on the next possible occasion) at the (commits that changed the) source code. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 20:22 ` Ingo Lohmar @ 2016-03-09 20:48 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 20:48 UTC (permalink / raw) To: Ingo Lohmar; +Cc: emacs-devel > From: Ingo Lohmar <i.lohmar@gmail.com> > Cc: emacs-devel@gnu.org > Date: Wed, 09 Mar 2016 21:22:11 +0100 > > In any case, I was speaking mostly hypothetically. I am either > interested in a high-level description of some changes that might affect > me, or cool new things to try, in which case I look at NEWS. Or I am > interested in details of what a function does differently now, or a > changed call signature or whatever --- in that case, I have never found > the Changelog to be sufficiently detailed. Instead I will look (on the > next possible occasion) at the (commits that changed the) source code. My use cases are very different, because more often than not they have to do with fixing some more-or-less subtle bug in code written long ago and modified many times since. I use "git log -L" a lot (it even ran out of memory few times on me), but that often is not enough, because you can see the code changes, but not many explanations why they were made. And since people who made those changes are generally very bright, concluding that they just made stupid mistakes somehow doesn't seem appropriate. So I need every piece of evidence I can dig up, in order to figure out the reasons for the change. I frequently search mailing list discussions around the dates of the changes, including mailing lists that are now long gone, and bug reports. An accurate log entry is sometimes a jewel, in that it suddenly makes all the pieces to fall in place. A bad log entry, by contrast, is a stub in the back. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 20:06 ` Eli Zaretskii 2016-03-09 20:22 ` Ingo Lohmar @ 2016-03-10 21:21 ` Richard Stallman 1 sibling, 0 replies; 454+ messages in thread From: Richard Stallman @ 2016-03-10 21:21 UTC (permalink / raw) To: Eli Zaretskii; +Cc: i.lohmar, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > That's pretty much what I meant. It may not contain the information you > > (and I) would like to see in it, but it is highly reliable in that it is > > the message that was used to describe the commit. > Yeah, it's a reliable lie. How helpful is that? "Lie" means a false statement intentionally made as an attempt to deceive. If we are talking about errors, it is harsh (and incorrect) to call them "lies". Let's just say "errors". -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 21:25 ` Ingo Lohmar 2016-03-08 21:36 ` Alan Mackenzie @ 2016-03-09 3:46 ` Eli Zaretskii 2016-03-09 6:41 ` John Wiegley 2016-03-09 19:51 ` Ingo Lohmar 1 sibling, 2 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 3:46 UTC (permalink / raw) To: Ingo Lohmar; +Cc: ofv, emacs-devel > From: Ingo Lohmar <i.lohmar@gmail.com> > Cc: emacs-devel@gnu.org > Date: Tue, 08 Mar 2016 22:25:35 +0100 > > On Tue, Mar 08 2016 22:37 (+0200), Eli Zaretskii wrote: > > Using Git is not a problem for me. The problem is that the > > information in Git log is unreliable. The other problem is that will > > never succeed in teaching new contributors how to make good log > > messages unless we have an easy way of fixing mistakes there. > > > Some arguments in this thread are repeated ad infinitum although they > don't seem to stand a little scrutiny. That's because some people don't seem to read the thread, and keep coming up with the same incorrect arguments time and again. > "git log" messages cannot technically be both immutable and > unreliable: At least there is some severely imprecise use of > language going on. You need to read the thread to understand what is being alluded to. "Unreliable" in the sense that its text includes mistakes and cannot be trusted. > In contrast to your opinion, it seems to me that fixing mistakes in the > Changelogs teaches a contributor who has committed with a flawed commit > message that it's not really important. They, or somebody else, can > clean up their (incl. possibly my) mess. As Oscar has argued, having > the original commit rejected (by means to be discussed, and only until > people have shown good judgment and discipline) teaches them that commit > messages matter. Emacs development doesn't work by requiring each commit be posted for review as prerequisite for committing, so what Oscar suggests is not possible. (Please don't ask why, it was explained many times already.) > The whole argument for Changelogs comes down to a) being an established > band-aid to clean up spilt milk, or b) providing a fixed-form summary of > things that can be obtained using the VCS (provided the humans or tools > wirting the Changelog are as "reliable" as the VCS). Find a better and more reliable way of dealing with the problems described here, and I'll be the first to agree not to reintroduce ChangeLogs. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 3:46 ` Eli Zaretskii @ 2016-03-09 6:41 ` John Wiegley 2016-03-09 15:53 ` Eli Zaretskii 2016-03-09 16:41 ` Eli Zaretskii 2016-03-09 19:51 ` Ingo Lohmar 1 sibling, 2 replies; 454+ messages in thread From: John Wiegley @ 2016-03-09 6:41 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ofv, Ingo Lohmar, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1025 bytes --] >>>>> Eli Zaretskii <eliz@gnu.org> writes: > Find a better and more reliable way of dealing with the problems described > here, and I'll be the first to agree not to reintroduce ChangeLogs. As far as I understand so far, we have only a few needs. If I've understood incorrectly, please let me know, as this thread has wandered in a few places. 1. We need a way to ensure quality commit messages from contributors. 2. We'd like to be able to correct commit messages after the fact. 3. We need a convenient way to both create and access this information. 4. We want to publish the history of these commit messages in the tarball. The ChangeLog file and its format are one implementation of these needs that has worked over the years. Are you saying that if we move to something else, and it fulfills these criteria, you'd be just as happy with it? -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 629 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 6:41 ` John Wiegley @ 2016-03-09 15:53 ` Eli Zaretskii 2016-03-09 16:41 ` Eli Zaretskii 2016-03-09 18:09 ` Paul Eggert 2016-03-09 16:41 ` Eli Zaretskii 1 sibling, 2 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 15:53 UTC (permalink / raw) To: John Wiegley; +Cc: emacs-devel > From: John Wiegley <jwiegley@gmail.com> > Cc: Ingo Lohmar <i.lohmar@gmail.com>, ofv@wanadoo.es, emacs-devel@gnu.org > Date: Tue, 08 Mar 2016 22:41:49 -0800 > > Keeping ChangeLog style in the commit entry is not terribly > useful either, since the diff output of log -p lets you know which function or > variable is being modified. "git log -p" cannot do the job for changes in many types of files. For example, try it on Lisp or Texinfo files. More generally, there's no way Git could replace ChangeLog style entries, because they frequently include information that is not in the diffs. To say nothing of the fact that understanding the change from reading Diff hunks is much harder, and therefore much less efficient, than from reading a log entry which describes the change in plain English. > I've never missed not having that ChangeLog data in other projects, > of any size. Maybe you rarely need to do any forensics. Me, I do it all the time in Emacs, and ChangeLog files are a valuable tool in the chest. ====================================================================== (Why is this topic cross-posted to bug-gnu-Emacs??) > In my short experience, Change Logs has generally been useful both when > reading and composing them. When writing them it helps me structure > large changes in logical commits that are modelled by the Change Log > format. Finally It helps me being precise in my wordings which is not > trivial for non-native english speakers. > > On a more spiritual side, I think they belong to the zen of contributing > to a GNU project. :) I agree completely. Writing a log entry in ChangeLog format is an excellent opportunity for reflecting on the changeset, for summarizing its intent and final shape, and for making sure nothing was left out. Writing those entries teaches one discipline, the ability to describe your changes in just enough detail, and facilitates communications between members of the development team. And in loose teams such as ours, good communications are everything. As told many times in past discussions, ChangeLog files are also an excellent first tool for forensics, easy to search with many available tools. It is invaluable when you don't have access to the repository, and a good asset even if you do: traversing the history of a complex Git repo without losing commits on branches is not a trivial task, it requires using non-default switches and some rarely used commands and options. Even when you do use Git tools, ChangeLog frequently provides additional important evidence. So removing ChangeLog files will be a bad blow to our ability to easily and conveniently research the past, something that is extremely important in a project with such a rich history, where it's all too easy to reintroduce a bug if you don't look hard enough at the history of some code fragment. People are saying it's an extra barrier to contributing. That is true, but so is understanding the Emacs internals, code conventions, organization of the documentation system, its auxiliary files (like CONTRIBUTE, NEWS, DEBUG, PROBLEMS, etc.), the release process, and a few more things. Having to write ChangeLog entries is an insignificant addition to the body of knowledge a contributor needs to master, there's no way around that. Nor should there be: without knowing this stuff, you cannot be a useful contributor anyway, as your contributions will need too much attention from the veterans, who then will be unable to make more significant contributions due to lack of time. We need here contributors who know enough to work on their own with minimal guidance, who can be trusted to do a good job that doesn't need to be reviewed too deeply, whose design can be trusted to be in line with the Emacsy way of doing things. How can one raise to this position without learning a lot of project-specific stuff? You can't. Writing ChangeLog entries is just one small part of that. It's no accident that people who don't want ChangeLog files more often than not don't want to write detailed commit log messages, either, and many times don't know how to write good documentation. Do we want to dispense with these as well? If we drop the ChangeLog files, there's no way we can explain why we ask for commit log messages in ChangeLog format, so the next logical step is to drop that as well, and we will then lose valuable information. We already are firmly on that path. Other prominent GNU projects that maintain ChangeLog files in the repository include GCC, Binutils, GDB, glibc, and Texinfo. XEmacs also has it. Why should Emacs be the first one to plunge into this adventure? Why not let others try that first, and then we could learn from their mistakes? Let's reinstate the ChangeLog files. Maintaining them is a negligible cost; many other projects do that and don't have any trouble. Unlike what some people say, merge conflicts in ChangeLog files are very rare, once you install git-merge-changelog. We have some important infrastructure based on ChangeLog files that will become extinct without them, something that people tend to forget. We tried to live without these files for a year; that experiment failed miserably. It's time to admit that, and fix the mistake we made. ====================================================================== > > On a more spiritual side, I think they belong to the zen of contributing > > to a GNU project. :) > > Dear Goddess, I hope you're joking. Actually, I'm sure he isn't. Maybe you are. > Speaking as a very, *very* long-time GNU contributor (I'm pretty sure > my earliest Emacs patches predated the formation of the FSF), I > consider ChangeLogs a relic of a bygone era. You are entitled to your opinions; others are entitled to theirs. IMO, active involvement in Emacs development during the recent years brings more weight to an opinion about the current subject than contributions made 30 years ago. > Changelogs made some sense as a way of grouping together what we now > call a changeset back in the days of file-oriented version-control > systems. Nowadays, set against the actual changeset comments in > version-control histories, Changelogs are a pointless and duplicative > ritual. They are not duplications. They are work-tree expressions of the VCS log, exactly like any source file is the work-tree expression of the VCS repo objects which hold that file's data. You won't lobby for removing the source files, and use the likes of "git show :foo.c" instead, would you? It should go without saying that having a file is more convenient than having to regenerate it every time from the repository. And please note that many people who want to drop Changelogs also want to drop the policy of making detailed commit log messages. We are experiencing the adverse effects of that for the past year. If we continue on that disastrous path, things will keep deteriorating, and we will lose important information that cannot be restored. > I think we should have dispensed with this practice during the CVS-to-bzr > transition. As it is, the sooner gone the better. You are a year late to the party, I think: we already did what you describe. We no longer maintain Changelogs directly, we produce them from Git logs. The result is problematic even when there's only one active branch of development; when there are 2 branches, as we have now, the result is an unimaginable mess, with _more_ merge conflicts and more work to fix the fallout, not less. I cannot even imagine what will happen if we will ever want to start a 3rd branch. From this past year's experience, it is clear to me that having ChangeLog files as we did before is a fraction of the price we had to pay for removing them. Removing them is also a serious impediment on our way to more complex workflows, so it's actually a regression, not progress. It's high time we recognized the mistake and fixed it. ====================================================================== > I respect that Richard may use them in a constructive way, but he's no longer > doing the majority of the work on Emacs Neither are some of those who expressed their views here. Unlike Richard, those others cannot present a history of contributions and of leading the development that is anywhere near what Richard has on his record. > I want to choose the path that works for the core developers, and > will make Emacs more welcoming to new contributors. It is IMO a grave mistake to remove parts of our development process just because they need to be learned by new contributors. The result will be increased burden on the shoulders of those who review the submissions, due to the need to coach them, catch their mistakes, ask for re-submissions, etc. It will eventually be a net loss, because those contributors will not enjoy the need to produce several versions of the patch before it is admitted, and the reviewers will not enjoy the extra burden. We should consider each part of the development process on its own merit, first and foremost. If a part is useful, and its removal will make the quality of the code or the documentation lower, then it should not be removed, and new contributors will have to learn it and to live by it. There's no useful way into Emacs development that doesn't require negotiating a few barriers. No free lunch here (or anywhere). We should recognize this fact instead of trying to bury our head in the sand. ====================================================================== > > At this point, I give up, since it seems fairly clear that maintaining > > an accurate ChangeLog just isn't of interest. Even the bare minimum > > legally relevant mistakes (missing "tiny change") don't seem to be being > > corrected. > > In concrete terms, what is the problem with these mistakes? The mistakes are not being corrected. Experience shows that correcting them is enough of an annoyance to discourage people. > Where is the master record of this information now? In the Git commit messages. > Is it being maintained correctly there? When a mistake is made there, it cannot be corrected, because Git commit log is immutable. Corrections must be made manually to a ChangeLog file produced from the Git log by a script. That proved not to work well, see above. It also proved to be a non-trivial problem when merging changes from the release branch to master -- for this latter issue we still don't have any idea for how to solve it reliably and without requiring a lot of manual labor. > Probably just deleting it from the repo would be more honest. > > What exactly are you proposing as the new practice > for handling ChangeLog files? There are 3 possibilities: . Keep the current system, where ChangeLog is produced from Git log and mistakes made in Git log should be corrected manually after producing ChangeLog . Give up on having ChangeLog files, either produced from Git log or maintained in the repository -- meaning a tarball will not include any ChangeLog at all . Go back to previous practice where we maintained ChangeLog files in the repository, and Git log messages were just copies of the ChangeLog entries ====================================================================== > No, what we do currently is different: we auto-generate the ChangeLog > and then commit it into the Git. What I think we should do is to never > commit it into the Git, and only auto-generate it into the tarball. > Like what we do for GNU ELPA packages (where the log is extracted via > "git log" when building the package and added to the package's content). > > That makes "fixing" ChangeLog entries harder/impossible. But it gets us > rid of the merge-mess once and for all. This would mean we don't care at all about what's in the ChangeLog. You already said you didn't care, so it's not really surprising you'd consider this as a viable option. But for someone like me, who does care, this is not really a solution at all. ====================================================================== > If we could switch to a system where every patch is reviewed before > commit, that'd be great. My own impression is that it will kill the > development pace because too few people are willing to spend the > corresponding efforts. Agreed. For my part, I can say that I simply don't have enough free time to review more patches than I do (which is an abysmal little). > That's why I've followed a practice of giving out write access very > liberally, with "post-commit spot-check reviews" instead. Indeed, it > means that errors in commit messages can't be fixed (we can fix them in > the ChangeLog files, admittedly, but since I don't use them it doesn't > help me). Post-commit reviews also take time. Do you have an estimation of how much time per day this takes? > Maybe we could have a half-way system, where commits are pushed to > a branch that is "not fast-forward-only", and this branch is then > auto-merged to the real (fast-forward-only) master branch after a delay > (one day, maybe?) to give time to fix mess ups before they're cast > in stone. A day is nowhere near enough. IME, a bad commit pushed to master takes up to a week to be discovered. More generally, the problem with such a branch is that it won't be much different from pushing to master, except in rare cases that it breaks the build, and even that can only be avoided if we set up some kind of CI system that continuously builds that branch on the main supported platforms. ====================================================================== > On 03/07/2016 01:06 PM, Eli Zaretskii wrote: > > Maintaining ChangeLog files by hand with each commit makes it harder > to merge changes due to the inevitable collisions with ChangeLog > files. > > Incorrect! And the current situation creates _more_ collisions, not > less! > > My own experience is otherwise. For the kinds of development I do, I rarely see ChangeLog screwups now, whereas I used to see them routinely. With or without git-merge-changelog? If you have git-merge-changelog installed, what kind of screwups did you see with ChangeLogs? (I didn't see even one, in all the years I use Git.) > I far prefer the current approach. Of course our approach can be improved (in particular merging from emacs-25 to master doesn't work well now), but let's not throw out the baby with the bathwater. The current approach completely breaks down when more than one branch is active. So there's no baby in that bathwater. > We don't have to be better than the other prominent GNU projects. > > I'd be happy if we were merely as good as the other prominent GNU projects that generate ChangeLog entries automatically. As things stand, due to our attempt to cater to all sides of this disagreement, we have an approach that satisfies nobody. Not sure what you mean here. What alternatives that don't "cater to all sides" would you suggest? The only one I see is to stop producing ChangeLog files for the releases. > ChangeLog mistakes can be easily fixed. > > That's true under both the old and the new regimes. No, it isn't. Definitely not with two branches. > Let other projects invent those schemes and test-drive them. Enough with these experiments! > > I'd rather just do what coreutils, grep, tar, etc. use. Don't know what hides behind "etc", but the rest are much smaller projects, which are all in maintenance mode, and have a very small number of active committers (of which you personally are a significant fraction ;-). They also don't use branches, at least not as much as we do. So I don't see how the experience of these projects is more relevant to us than that of GCC, GDB, Binutils, and glibc. > I could fairly easily change the master branch to do that. To do what? Please describe the details of your proposal. Also, please tell what do you suggest doing on the release branches. > Even simpler would be to do what Guile does: it dispenses with ChangeLogs entirely. With Guile if you want something like a ChangeLog you run "git log". As I said, tossing ChangeLog files entirely would indeed solve the problems, but it's a sure path to further deterioration in the quality of log messages. It is easy to keep the quality in a project that has a small number of committers who are veteran GNU developers (Guile has 1 frequent committer on master, and 3 on stable). That's not our case. > If neither of the above two approaches suffice, we can always fall back on my previous email's proposal. It's not that experiemental, as it says to use the new produre on master and the old procedure on emacs-25. The new procedure works well enough within a single master branch. Any suggested approach should support not only the current emacs-25 branch, but also the future release branches, i.e. it should continue working when we cut the emacs-26 branch in the future. It should also be reliable, and not require manual labor for fixing mistakes in the log messages, beyond the fix itself. > these procedures work, and all those projects are alive and kicking, and actually make more frequent releases than we do. > > XEmacs is not really alive and kicking. XEmacs is not that different from Grep or Sed. Sed, for example, saw just 30 commits during the last year. > Projects like GCC and glibc have more resources than we do, and can afford to insist on more-expert contributions that involve harder-to-generate patch formats. We do not have that luxury. It's the other way around, actually: the current situation requires more labor from us to get it right, so our lack of resources should lead us to the opposite conclusion. > I often ran into problems. Yes, git-merge-changelog should reduce the > number of merge conflicts, but it doesn't eliminate them > > Oh, yes, it does. > > Not in my experience, or in Dmitry's. It's a fine program, but it sometimes makes mistakes and they can be a pain to fix. Fixing its mistakes involves moving an entry to a different place, that's all. Easy done, and even if not done, it's not a disaster, as the information is there anyway. ====================================================================== > Maintaining ChangeLog files by hand with each commit makes it harder > to merge changes due to the inevitable collisions with ChangeLog > files. > > Incorrect! And the current situation creates _more_ collisions, not > less! > > Only when merging between branches. It doesn't work very well even on a single branch. With two branches, it completely breaks down. We do want to work on multiple branches, don't we? We discussed how to make more frequent releases, and perhaps have 3 branches for even more flexible development and release schedule. All of that would be impossible because of this tiny but annoying PITA. Do we really want to continue wasting energy on fixing something that wasn't such a big problem to begin with? > Other than that, only a select group of people needs to bother: those who make mistakes, and those who feel a general need to clean up. See, that's the crux of the issue: do we or don't we care about the need to clean up our ChangeLogs? If we don't, then why bother maintaining them? You (and some others) say the format and the content in the log messages are important, and I agree. But if we do care about them, how can we NOT clean them up? Having them in their current state means they cannot be trusted, which is worse than not having them at all. > As a relatively careful committer, I've only had to correct the entries a few times, and I've been enjoying the lack of collisions quite a bit. Yes, a few of us don't need any corrections. But enough of us do, and that's where the problem lies. It is that problem that we need to fix. Leaving it unfixed makes your accurate work unreliable as well. > But ChangeLog mistakes can be easily fixed. > > In the current approach, as well. Only on a single branch, and even there this is not done enough. We all relied on Glenn to do that behind the scenes. Now Glenn gave up in despair, so things will degrade from now on. > We don't know how, and we don't have anyone who is motivated enough to > do that. And even if and when we do have some solution, it is likely > to be inconvenient and unreliable. > > I think we should wait and see until the work really transitions back to master. The motivation must rise. The release branch will remain active for quite some time: we have just started a new major version. And if we want more frequent releases, we should strive to have an active release branch at all times. So I don't think we can wait; waiting will not solve anything, it will just make the current problems bigger and harder to solve. > Let other projects invent those schemes and test-drive them. Enough > with these experiments! They draw the last drops of energy from us, > and they avert the few last veteran contributors we have left. > > Has the current experiment really sucked too much energy from anyone, aside from the implementors? Why do you think Glenn gave up? > That's not a bad thing in itself. The point is, these procedures > work, and all those projects are alive and kicking, and actually make > more frequent releases than we do. > > For all we know, they might be thriving despite this practice. Nothing wrong with that. > I often ran into problems. Yes, git-merge-changelog should reduce the > number of merge conflicts, but it doesn't eliminate them > > Oh, yes, it does. > > Not in my experience either. I've still had collisions, and even when git-merge-changelog resolved them, it often put my entry in the middle of the file, whereas I usually needed it to be at the top. Leading to extra manual labor. That extra manual labor is very small, and it's still a rare case to have that. A small price to pay for a clean and reliable solution. > requiring git-merge-changelog means that many contributors would > have to worry about installing and configuring git-merge-changelog, > which would be more of a hassle for recruiting contributors. > > It's a 5-sec configuration, let's not make a mountain out of a > molehill. > > It was longer for me. But either way, it's more hassle for a random contributor than the current system. The current system is much more hassle for non-random contributors, so much so that we risk losing them, something we cannot afford. > If it can be fixed, Someone should. Let that Someone step forward, then, and speak up. We have been waiting for that for the past year, so I'm not holding my breath now. ====================================================================== > >> Introduce code reviews. Don't give commit access to the "golden" > >> branches to everyone, just to a few top contributors and reviewers. > > > > We don't have manpower for that. > > I find perplexing that we have manpower for reviewing ChangeLogs but not > for reviewing commit logs *instead*. Log messages are much shorter than code diffs, and much simpler to read and understand. It takes a few seconds to read them; reading a code patch takes much more, typically needs to consult the surrounding and related code, etc. So code review takes orders of magnitude more time than reviewing the corresponding log entries. > And is it so super-important to have typo-free commit logs? Typos is the least of our problems. But yes, it's important: if you start by forgiving typos, you end with unhelpful and uninformative log messages. > We are not even using `git notes'. No one came up with a detailed procedure for doing that. If you can propose something that works, please do. ====================================================================== > >> Another option for correcting errors on commit logs is `git notes', but > >> I don't know about its implications. > > > > Nobody does. We shouldn't consider any more experiments in this area > > until someone else uses these methods and proves they are viable in > > our case. > > How could *someone else* prove the viability of something in *our* case? By coming up with a procedure which we can study and decide whether it fits us. > You always can argue that his project is not Emacs... I can, but why would I want to? The opinions are not pre-determined, they are based on study and in this case also on a year-long experience of actually using a procedure. > `git notes' is a documented feature available since a long time ago. It > can turn the immutability of the commit log into a non-issue if you wish > to produce a proofread ChangeLog to include in the tarball. We need a more detailed proposal than this, TIA. David says "git notes" is not a solution; if notes don't support merging, then I tend to think he is right. ====================================================================== > > The reasons exist, and has been described. You may not agree with > > them, perhaps due to different experience, but that doesn't mean they > > aren't valid. > > Yeah, but what exactly is your point here? I was pointing out that this > practice is astonishing for new contributors. You didn't understand why, > so I explained that it's astonishing because to a new contributor it > seems pointless. Now you assert that there are good reasons for it, but > that really doesn't change that, to new contributors, it appears > pointless and is astonishing. My point is that the initial surprise will subside with time, by way of getting used to it. It is even possible that you will come to value this, as someone else who reported here. > Sorry, I still don't follow your reasoning. I still consider myself a > potential contributor (I didn't contribute much beyond that first little > foray), and not requiring me to copy my commit message into the > ChangeLog is not going to affect the quality of the commit measures in > any way. The only "message" that I get from this is "Great, sending > patches for Emacs doesn't require me to do a copy & paste anymore". As long as you don't have write access to the repository, you are not required to provide the log entries more than once, and so this issue doesn't really affect you. This issue is only relevant to those who actually push changes, because they might need to copy/paste into the ChangeLog file. ====================================================================== > > I think if we care at all about having ChangeLog in the releases, we > > should simply reinstate the file and maintain it in the repository. > > FWIW, that's not what I was hoping would come from this, and I think > that would be a retrograde step. Can you tell why? It solves all the problems you mention in your mail, at negligible costs. So it seems to be a clear winner. > For 1) and 2), experience shows that few people will bother to make > corrections. Is it an important drawback that few people bother to make corrections? If it is, then any solution that involves such corrections is not what we want. Also, is the situation with corrections worse or better than what it was when we maintained ChangeLog files in the repository? > PS For the record, to explain the actual merging issue as I see it: > > Suppose emacs-25 and master are synced at revision aaa and ChangeLog.2 > is up-to-date. emacs-25 advances to rev xxx, and independently master to > rev xxx'. emacs-25 gets ChangeLog.2 updated, and merged to master. Now > the footer of master ChangeLog.2 reports that it is up-to-date to rev > xxx. What does this mean for the changes on master between aaa and xxx'? > Because xxx on master is "after" xxx', I suspect it means they end up > missing from ChangeLog.2 forever, which is bad. No, they don't end up missing. They will in general be in the "wrong" order, time-wise, though. But what is the "right" order for this situation, where changes are made in parallel on several branches? Do we want them interwoven, in strict order of their commit times? Or do we want all the entries of a merge from the branch be kept together with the time stamp of the merge? If we want to continue keeping a single generated ChangeLog file on master and on the branch, we need to decide what is the desired result. > But maybe there's no such issue, or it is fixable with some git > trivia. The only "git trivia" that's possible is a custom merge driver (which AFAIK doesn't exist). Git itself is not aware of the special meaning of the time stamps in ChangeLog entries. We could also have some Lisp rearranging the entries in whatever order we decide we want it, after git-merge-changelog puts them in the order it thinks is right. > I don't know. That's why I made this bug report. AFAICS, the adopted > "solution" was simply to ignore the issue, which means > master/ChangeLog.2 is (probably) messed up at the moment. It is not messed, but it isn't in chronological order, either. And it looks like no one ran "make change-history" on master for several moons, so problems might become worse when they do. ====================================================================== > Giving people different permissions on different branches seems to make > sense. Overtime, people move toward master/emacs-25. AFAIK, Git (or is it Savannah?) doesn't support such granularity. > > Maybe we could have a half-way system, where commits are pushed to > > a branch that is "not fast-forward-only", and this branch is then > > auto-merged to the real (fast-forward-only) master branch after a delay > > (one day, maybe?) to give time to fix mess ups before they're cast > > in stone. > > I think that this would require some considerable co-ordination. If I > push a broken commit to devel branch, and then you fix this commit > through rebase, my copy of the branch (and everyone elses) is now > broken. Stefan was talking about merging, not rebasing. ====================================================================== > > Find a better and more reliable way of dealing with the problems described > > here, and I'll be the first to agree not to reintroduce ChangeLogs. > > As far as I understand so far, we have only a few needs. If I've understood > incorrectly, please let me know, as this thread has wandered in a few places. > > 1. We need a way to ensure quality commit messages from contributors. > 2. We'd like to be able to correct commit messages after the fact. > 3. We need a convenient way to both create and access this information. > 4. We want to publish the history of these commit messages in the tarball. > > The ChangeLog file and its format are one implementation of these needs that > has worked over the years. Are you saying that if we move to something else, > and it fulfills these criteria, you'd be just as happy with it? Yes. However, putting on my system engineer hat, let me make sure the list of requirements covers all the aspects: 5. The "history of commit messages" produced in 4 above should resemble a ChangeLog file (ideally, it should use the same format). 6. The solution should allow manual generation of the "history" file mentioned in 4, on demand, in reasonably short time, even if the repo clone does not include a built Emacs. (It is okay to use the installed Emacs binary, if necessary.) 7. The solution should support Git workflows we allow: merging between branches, rebasing local changes on upstream, cherry-picking from another branch, reverting a commit, tagging a commit, and amending an unpushed commit. "Support" here means that the solution should not impose limitations on these workflows, and the steps for updating whatever databases the solution will use should not require additional manual work as result of using these workflows. (I'm not saying these additions are something non-obvious, I just want to make sure we have everything covered.) ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 15:53 ` Eli Zaretskii @ 2016-03-09 16:41 ` Eli Zaretskii 2016-03-09 18:09 ` Paul Eggert 1 sibling, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 16:41 UTC (permalink / raw) To: Eli Zaretskii; +Cc: johnw, emacs-devel > Date: Wed, 09 Mar 2016 17:53:06 +0200 > From: Eli Zaretskii <eliz@gnu.org> > Cc: emacs-devel@gnu.org > > > From: John Wiegley <jwiegley@gmail.com> > > Cc: Ingo Lohmar <i.lohmar@gmail.com>, ofv@wanadoo.es, emacs-devel@gnu.org > > Date: Tue, 08 Mar 2016 22:41:49 -0800 > > > > Keeping ChangeLog style in the commit entry is not terribly > > useful either, since the diff output of log -p lets you know which function or > > variable is being modified. > > "git log -p" cannot do the job for changes in many types of files. > For example, try it on Lisp or Texinfo files. Sorry, please disregard this mess. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 15:53 ` Eli Zaretskii 2016-03-09 16:41 ` Eli Zaretskii @ 2016-03-09 18:09 ` Paul Eggert 2016-03-09 18:18 ` Karl Fogel 2016-03-10 21:23 ` Richard Stallman 1 sibling, 2 replies; 454+ messages in thread From: Paul Eggert @ 2016-03-09 18:09 UTC (permalink / raw) To: Eli Zaretskii, John Wiegley; +Cc: emacs-devel On 03/09/2016 07:53 AM, Eli Zaretskii wrote: > Writing a log entry in ChangeLog format is an excellent opportunity > for reflecting on the changeset Yes, the ChangeLog format is useful. I use it myself for commits I make to GNU projects (as well as some non-GNU projects, e.g., https://github.com/eggert/tz). Perhaps the format could be improved, but that should be a different thread. > So removing ChangeLog files will be a bad blow to our ability to > easily and conveniently research the past, No, this doesn't follow. If we use ChangeLog formats in commit messages, we can still research the past easily and conveniently. > If we drop the ChangeLog files, there's no way we can explain why we > ask for commit log messages in ChangeLog format, so the next logical > step is to drop that as well, and we will then lose valuable information. It's not a logical step at all, and we already have an explanation of why we ask for ChangeLog format in CONTRIBUTE. Perhaps the explanation can be improved, but that's true no matter what approach we take (assuming we continue to prefer ChangeLog format). > Other prominent GNU projects that maintain ChangeLog files in the > repository include GCC, Binutils, GDB, glibc, and Texinfo. XEmacs also > has it. Why should Emacs be the first one to plunge into this adventure? Emacs is not the first at all. All the projects I've mentioned (Guile, coreutils, tar, etc.) used to maintain ChangeLog files in the repository. They've all moved away from that approach, in large part because of the hassle and confusion it entails. > > There are 3 possibilities: > > . Keep the current system, where ChangeLog is produced from Git log > and mistakes made in Git log should be corrected manually after > producing ChangeLog > > . Give up on having ChangeLog files, either produced from Git log or > maintained in the repository -- meaning a tarball will not include > any ChangeLog at all > > . Go back to previous practice where we maintained ChangeLog files > in the repository, and Git log messages were just copies of the > ChangeLog entries There is a 4th possibility: switch to what coreutils etc. do. > This would mean we don't care at all about what's in the ChangeLog. No, we can still make corrections with the 4th possibility. And even if we couldn't make corrections, it wouldn't mean we don't care about what's in the ChangeLog. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 18:09 ` Paul Eggert @ 2016-03-09 18:18 ` Karl Fogel 2016-03-09 18:32 ` Eli Zaretskii 2016-03-10 21:23 ` Richard Stallman 1 sibling, 1 reply; 454+ messages in thread From: Karl Fogel @ 2016-03-09 18:18 UTC (permalink / raw) To: Paul Eggert; +Cc: Eli Zaretskii, John Wiegley, emacs-devel Paul Eggert <eggert@cs.ucla.edu> writes: >Yes, the ChangeLog format is useful. I use it myself for commits I >make to GNU projects (as well as some non-GNU projects, e.g., >https://github.com/eggert/tz). Perhaps the format could be improved, >but that should be a different thread. > >On 03/09/2016 07:53 AM, Eli Zaretskii wrote: >> So removing ChangeLog files will be a bad blow to our ability to >> easily and conveniently research the past, > >No, this doesn't follow. If we use ChangeLog formats in commit >messages, we can still research the past easily and conveniently. > >> If we drop the ChangeLog files, there's no way we can explain why we >> ask for commit log messages in ChangeLog format, so the next logical >> step is to drop that as well, and we will then lose valuable >> information. > >It's not a logical step at all, and we already have an explanation of >why we ask for ChangeLog format in CONTRIBUTE. Perhaps the explanation >can be improved, but that's true no matter what approach we take >(assuming we continue to prefer ChangeLog format). What Paul said. The conflation of "ChangeLog-style entries" with "ChangeLog files" has been a persistent anti-pattern in this discussion. It just causes confusion. It would help if we remained clear about the distinction, since the former does not imply the latter. This isn't merely a theoretical distinction. I've been writing all my commit messages in the style of a ChangeLog entry for as long as I can remember (not just in this project), and 'git log' shows that other developers have been doing that in this project too. Which is good, since that's exactly what the CONTRIBUTE guidelines currently recommend. -K ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 18:18 ` Karl Fogel @ 2016-03-09 18:32 ` Eli Zaretskii 2016-03-09 19:36 ` Karl Fogel 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 18:32 UTC (permalink / raw) To: Karl Fogel; +Cc: eggert, johnw, emacs-devel > From: Karl Fogel <kfogel@red-bean.com> > Cc: Eli Zaretskii <eliz@gnu.org>, John Wiegley <johnw@gnu.org>, emacs-devel@gnu.org > Date: Wed, 09 Mar 2016 12:18:19 -0600 > > Paul Eggert <eggert@cs.ucla.edu> writes: > >Yes, the ChangeLog format is useful. I use it myself for commits I > >make to GNU projects (as well as some non-GNU projects, e.g., > >https://github.com/eggert/tz). Perhaps the format could be improved, > >but that should be a different thread. > > > >On 03/09/2016 07:53 AM, Eli Zaretskii wrote: > >> So removing ChangeLog files will be a bad blow to our ability to > >> easily and conveniently research the past, > > > >No, this doesn't follow. If we use ChangeLog formats in commit > >messages, we can still research the past easily and conveniently. > > > >> If we drop the ChangeLog files, there's no way we can explain why we > >> ask for commit log messages in ChangeLog format, so the next logical > >> step is to drop that as well, and we will then lose valuable > >> information. > > > >It's not a logical step at all, and we already have an explanation of > >why we ask for ChangeLog format in CONTRIBUTE. Perhaps the explanation > >can be improved, but that's true no matter what approach we take > >(assuming we continue to prefer ChangeLog format). > > What Paul said. > > The conflation of "ChangeLog-style entries" with "ChangeLog files" has been a persistent anti-pattern in this discussion. It just causes confusion. It would help if we remained clear about the distinction, since the former does not imply the latter. > > This isn't merely a theoretical distinction. I've been writing all my commit messages in the style of a ChangeLog entry for as long as I can remember (not just in this project), and 'git log' shows that other developers have been doing that in this project too. Which is good, since that's exactly what the CONTRIBUTE guidelines currently recommend. Paul omitted an important part of what I said, which of course made the point I was trying to make incoherent. And you are just repeating his omission. And then you claim that others cause confusion, whereas in fact you confuse yourself (and perhaps others) by reading selectively what I and others say. How does this make any sense? ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 18:32 ` Eli Zaretskii @ 2016-03-09 19:36 ` Karl Fogel 2016-03-09 20:21 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Karl Fogel @ 2016-03-09 19:36 UTC (permalink / raw) To: Eli Zaretskii; +Cc: eggert, johnw, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >Paul omitted an important part of what I said, which of course made >the point I was trying to make incoherent. I read the original message (it was https://lists.gnu.org/archive/html/emacs-devel/2016-03/msg00405.html, right?). >And you are just repeating his omission. And then you claim that >others cause confusion, whereas in fact you confuse yourself (and >perhaps others) by reading selectively what I and others say. How >does this make any sense? I'm not sure what omission you're referring to. You've referred to it twice now, but not specified what it is, and re-reading your original post I am unable to figure it out. For example, your original post wrote: > Writing ChangeLog entries is just one small part of that. It's no > accident that people who don't want ChangeLog files more often than > not don't want to write detailed commit log messages, either, and many > times don't know how to write good documentation. Do we want to > dispense with these as well? If we drop the ChangeLog files, there's > no way we can explain why we ask for commit log messages in ChangeLog > format, so the next logical step is to drop that as well, and we will > then lose valuable information. We already are firmly on that path. How does dropping ChangeLog files cause us to not be able to ask for ChangeLog-style entries? (Also, I'm not sure your assertion about what kinds of behaviors correlate is true, but that's a separate issue.) You wrote of the importance of "ChangeLog files" to forensics, but having that information in git commit messages is exactly equivalent (I use it for forensics all the time, in lots of projects). Maybe you meant something like preserving the *existing* ChangeLog files, even if we don't maintain them in the future, to make it easier to do forensics involving changes that happened before CONTRIBUTE started asking for ChangeLog-style entries in commit messages? If so, that wasn't at all clear from your post. That's an ambiguity of the word "drop", perhaps: dropping ChangeLog files could mean removing them from the tree altogether, or it could mean leaving them preserved in amber but not adding material to them anymore. When I read your post, I concluded that you were not proposing the "preserve in amber" approach, partly because of this: > So removing ChangeLog files will be a bad blow to our ability to > easily and conveniently research the past, something that is extremely > important in a project with such a rich history, where it's all too > easy to reintroduce a bug if you don't look hard enough at the history > of some code fragment. > > People are saying it's an extra barrier to contributing. ... If the "removing ChangeLog files" in the first part had just been about removing the existing ones (in a hypothetical universe in which we didn't plan to add material to them in the future), then the first sentence of the next paragraph, "People are saying it's an extra barrier to contributing.", would have been a non sequitur, because a ChangeLog file that one isn't obligated to add to is not much of a barrier to contributing. Anyway, a few sentences later in that paragraph you wrote "Having to write ChangeLog entries is an insignificant addition to the body of knowledge a contributor needs to master, there's no way around that." ... so now you're talking about writing ChangeLog-style *entries* (which could be done in commit messages), not really about ChangeLog files, as the immediately previous two paragraphs had been talking about, with no indication in between that some kind of conceptual transition had been made. Do you see now why it at least looks like you're conflating these two different things? Maybe you didn't mean to do so, but Paul's interpretation was reasonable; he was not quoting you in a misleading way. When I read your original post, I already got confused by the conflation. It wasn't Paul's followup that made me think that. Paul and I came to the same conclusion for a reason. Best regards, -Karl ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 19:36 ` Karl Fogel @ 2016-03-09 20:21 ` Eli Zaretskii 2016-03-09 20:42 ` Karl Fogel ` (2 more replies) 0 siblings, 3 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 20:21 UTC (permalink / raw) To: Karl Fogel; +Cc: eggert, johnw, emacs-devel > From: Karl Fogel <kfogel@red-bean.com> > Cc: eggert@cs.ucla.edu, johnw@gnu.org, emacs-devel@gnu.org > Date: Wed, 09 Mar 2016 13:36:07 -0600 > > > Writing ChangeLog entries is just one small part of that. It's no > > accident that people who don't want ChangeLog files more often than > > not don't want to write detailed commit log messages, either, and many > > times don't know how to write good documentation. Do we want to > > dispense with these as well? If we drop the ChangeLog files, there's > > no way we can explain why we ask for commit log messages in ChangeLog > > format, so the next logical step is to drop that as well, and we will > > then lose valuable information. We already are firmly on that path. > > How does dropping ChangeLog files cause us to not be able to ask for ChangeLog-style entries? I don't even need to explain that: there are already people in this discussion who said they'd like to use a less formal format. (You already asked who those people were, and Dmitry already pointed out who they were.) To me, the connection is very clear. If you don't see it, just trust the facts -- it is already happening. > You wrote of the importance of "ChangeLog files" to forensics, but having that information in git commit messages is exactly equivalent (I use it for forensics all the time, in lots of projects). Once again, you take a part of the argument and try to analyze it separately. The point was that if we start on the slippery slope of saying the mistakes in the log messages are unimportant, we will eventually lose both the information in the Git log records and the ability to produce ChangeLog files. IOW, it's fortress -- if you dismantle one of its bastions, the others will soon fall as well. The only way to avoid that is to hold all of them. > Do you see now why it at least looks like you're conflating these two different things? No. There are different aspects to this issue, and I described them one after the other. Sometimes they are only loosely related, sometimes they are more tightly coupled. This is the best way I could express my thoughts. Since English is not the first language for either of us, let's just agree that I failed to write in a style that would allow you to better understand. Once again, if there's a way to have the information in Git such that a correct log could be generated from it, it would be fine with me, and keeping the ChangeLog files in the repository won't be necessary, as far as I'm concerned. But so far, keeping the files looks like the cheapest way of satisfying all the requirements. I understand the psychological effect of "going the old ways", but this is a practical matter for me, not a religious one, and I'm looking for a practical solution that would allow us to continue keeping an accurate accord of the development history with as little overhead as possible. If the best alternative is those "old ways", I have no problem with that. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 20:21 ` Eli Zaretskii @ 2016-03-09 20:42 ` Karl Fogel 2016-03-09 20:59 ` Eli Zaretskii 2016-03-09 23:03 ` Nikolaus Rath 2016-03-09 23:39 ` Paul Eggert 2 siblings, 1 reply; 454+ messages in thread From: Karl Fogel @ 2016-03-09 20:42 UTC (permalink / raw) To: Eli Zaretskii; +Cc: eggert, johnw, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >I don't even need to explain that: there are already people in this >discussion who said they'd like to use a less formal format. (You >already asked who those people were, and Dmitry already pointed out >who they were.) To me, the connection is very clear. If you don't >see it, just trust the facts -- it is already happening. I've worked in projects where we successfully enforce ChangeLog-style commit message conventions without having actual ChangeLog files. If the Emacs project is having a social problem enforcing conventions, that's certainly something to be solved. But blaming it on the absence of ChangeLog files does not hold up empirically. I do not see any connection between the fact that some people advocate using a less formal format, and the question of whether or not we should have ChangeLog *files*. One is about commit message format (other projects enforce a format successfully, and some even enforce this particular format), the other is about whether certain files exist in the tree. It's surprising to me that you think this connection is so obvious that you don't even need to explain it :-), whereas to me there is no strong connection at all. >> You wrote of the importance of "ChangeLog files" to forensics, but >> having that information in git commit messages is exactly equivalent >> (I use it for forensics all the time, in lots of projects). > >Once again, you take a part of the argument and try to analyze it >separately. > >The point was that if we start on the slippery slope of saying the >mistakes in the log messages are unimportant, we will eventually lose >both the information in the Git log records and the ability to produce >ChangeLog files. > >IOW, it's fortress -- if you dismantle one of its bastions, the others >will soon fall as well. The only way to avoid that is to hold all of >them. Okay, I understand your argument (I don't think your previous messages made it clear, but you've clarified it now). However, it just does not hold true in other projects. Why would we expect Emacs developers to be more slovenly than developers elsewhere? >> Do you see now why it at least looks like you're conflating these two different things? > >No. There are different aspects to this issue, and I described them >one after the other. Sometimes they are only loosely related, >sometimes they are more tightly coupled. This is the best way I could >express my thoughts. Since English is not the first language for >either of us, let's just agree that I failed to write in a style that >would allow you to better understand. English is my native language, by the way; I'm American, not German. FWIW, I couldn't tell from your writing that English is not your native language. >Once again, if there's a way to have the information in Git such that >a correct log could be generated from it, it would be fine with me, >and keeping the ChangeLog files in the repository won't be necessary, >as far as I'm concerned. But so far, keeping the files looks like the >cheapest way of satisfying all the requirements. I understand the >psychological effect of "going the old ways", but this is a practical >matter for me, not a religious one, and I'm looking for a practical >solution that would allow us to continue keeping an accurate accord of >the development history with as little overhead as possible. If the >best alternative is those "old ways", I have no problem with that. I think this project can successfully enforce ChangeLog-style entries in commit messages if we really want to, without much difficulty. There are a number of techniques for doing so, mostly social techniques, with a few technical helpers if we want. Other projects with similarly cohesive developer communities enforce such conventions all the time. I don't think it has anything to do with whether or not there are actual ChangeLog files in the repository; the fact that some of the people who don't want to keep those files are *also* people who don't want to use that style of entry generally, even in commit messages, is merely correlative -- getting rid of the files doesn't mean that everything else they advocate must happen too. I believe this is also what Paul was saying, though I don't want to put words in his mouth. Best regards, -Karl ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 20:42 ` Karl Fogel @ 2016-03-09 20:59 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 20:59 UTC (permalink / raw) To: Karl Fogel; +Cc: eggert, johnw, emacs-devel > From: Karl Fogel <kfogel@red-bean.com> > Cc: eggert@cs.ucla.edu, johnw@gnu.org, emacs-devel@gnu.org > Date: Wed, 09 Mar 2016 14:42:30 -0600 > > Eli Zaretskii <eliz@gnu.org> writes: > >I don't even need to explain that: there are already people in this > >discussion who said they'd like to use a less formal format. (You > >already asked who those people were, and Dmitry already pointed out > >who they were.) To me, the connection is very clear. If you don't > >see it, just trust the facts -- it is already happening. > > I've worked in projects where we successfully enforce ChangeLog-style commit message conventions without having actual ChangeLog files. If the Emacs project is having a social problem enforcing conventions, that's certainly something to be solved. But blaming it on the absence of ChangeLog files does not hold up empirically. I'm not blaming anything. I'm just saying that having ChangeLog files seems so far to be the cheapest solution to a conundrum. I don't know what project you have in mind, but IME the only way to _force_ something in a Free Software project is to have a very charismatic leader to whose opinions all the rest heed. That's a rare case to see, and it certainly isn't our situation here. > >IOW, it's fortress -- if you dismantle one of its bastions, the others > >will soon fall as well. The only way to avoid that is to hold all of > >them. > > Okay, I understand your argument (I don't think your previous messages made it clear, but you've clarified it now). However, it just does not hold true in other projects. Why would we expect Emacs developers to be more slovenly than developers elsewhere? Because they in fact are? What can I say? just look around. > English is my native language, by the way; I'm American, not German. Apologies. Then the problem is mine alone. > FWIW, I couldn't tell from your writing that English is not your native language. Yes, my disguise is good. But it's just a disguise, believe me. > I think this project can successfully enforce ChangeLog-style entries in commit messages if we really want to, without much difficulty. I don't know why you think so, since we are already failing to do that. I agree that it should be possible in theory, but we don't seem to live up to that. > I believe this is also what Paul was saying, though I don't want to put words in his mouth. Paul actually said that it was not a disaster if the log messages were less than perfect. (His own are, of course, very good, I wish everyone would write similar log messages.) ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 20:21 ` Eli Zaretskii 2016-03-09 20:42 ` Karl Fogel @ 2016-03-09 23:03 ` Nikolaus Rath 2016-03-09 23:39 ` Paul Eggert 2 siblings, 0 replies; 454+ messages in thread From: Nikolaus Rath @ 2016-03-09 23:03 UTC (permalink / raw) To: emacs-devel On Mar 09 2016, Eli Zaretskii <eliz@gnu.org> wrote: >> How does dropping ChangeLog files cause us to not be able to ask for >> ChangeLog-style entries? > > I don't even need to explain that: there are already people in this > discussion who said they'd like to use a less formal format. I don't see any causal connection between these two statements. Some people have preferences that differ from current project standards. That will always be the case, no matter if ChangeLog files are dropped or not. > IOW, it's fortress -- if you dismantle one of its bastions, the others > will soon fall as well. The only way to avoid that is to hold all of > them. I think other people simply don't see it that way. Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 20:21 ` Eli Zaretskii 2016-03-09 20:42 ` Karl Fogel 2016-03-09 23:03 ` Nikolaus Rath @ 2016-03-09 23:39 ` Paul Eggert 2016-03-10 6:47 ` Eli Zaretskii 2 siblings, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-03-09 23:39 UTC (permalink / raw) To: Eli Zaretskii, Karl Fogel; +Cc: johnw, emacs-devel On 03/09/2016 12:21 PM, Eli Zaretskii wrote: > it's fortress -- if you dismantle one of its bastions, the others > will soon fall as well. It's not a fortress, as is demonstrated in other GNU projects. For example, here are the last three commit messages for coreutils, which has been using the proposed approach since 2008. These commit messages are just as good as what we typically see for Emacs. Maybe better. I'm sure we can improve the quality of Emacs commit messages, but putting them into ChangeLog files is not necessary or even all that helpful for doing so. commit e735d417fb2e5c7427b3622f2a78e65e450b49a8 Author: Eric Blake <eblake@redhat.com> Date: Tue Mar 8 16:01:34 2016 -0700 build: update gnulib submodule to latest Mainly for: *bdb72bc6 set-permissions: fix compilation on Cygwin * bootstrap: Sync with gnulib. * gl/lib/regcomp.c.diff: Regenerate against latest gnulib. commit 68ede201e8890b757aa37d72ce4dca872155f7db Author: Jim Meyering <meyering@fb.com> Date: Sun Mar 6 16:38:01 2016 -0800 tests: avoid false-failure of split/filter.sh on XFS * tests/split/filter.sh: Use OFF_T_MAX-1 rather than OFF_T_MAX as the size of a test file, to avoid false failure on an XFS file system (or any file system permitting a file of size OFF_T_MAX). Reported as http://bugs.gnu.org/22931 commit 6475c514550bc1fbdb3410485312211726765798 Author: Eric Blake <eblake@redhat.com> Date: Fri Mar 4 09:47:33 2016 -0700 test: Document that -a and -o are undesirable POSIX recommends avoiding -a and -o, for good reason. src/test.c (usage): Mention that inherent ambiguities exist with binary -a and -o. Problem reported by Martin Gebert in: http://bugs.gnu.org/22909 ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 23:39 ` Paul Eggert @ 2016-03-10 6:47 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-10 6:47 UTC (permalink / raw) To: Paul Eggert; +Cc: kfogel, johnw, emacs-devel > Cc: johnw@gnu.org, emacs-devel@gnu.org > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Wed, 9 Mar 2016 15:39:25 -0800 > > On 03/09/2016 12:21 PM, Eli Zaretskii wrote: > > it's fortress -- if you dismantle one of its bastions, the others > > will soon fall as well. > > It's not a fortress, as is demonstrated in other GNU projects. For > example, here are the last three commit messages for coreutils, which > has been using the proposed approach since 2008. These commit messages > are just as good as what we typically see for Emacs. Maybe better. I'm > sure we can improve the quality of Emacs commit messages, but putting > them into ChangeLog files is not necessary or even all that helpful for > doing so. > > commit e735d417fb2e5c7427b3622f2a78e65e450b49a8 > Author: Eric Blake <eblake@redhat.com> > Date: Tue Mar 8 16:01:34 2016 -0700 If I could by some magic wand make a few distinguished individuals become part of the Emacs team, and never give write access to anyone else, then those two would certainly be on the list. And then we could simply forget about the problems we are arguing ab out, because they would have become nonexistent. But as long as we are trying to make Emacs development be more crowdware (which I think is a correct direction, given that Emacs is a very large collection of loosely-related packages), we cannot rely on the high quality of log messages produced by the individual contributors, because many of them will only casually contribute, and won't have the kind of experience and habits that Eric and Jim have. We must have a convenient way of correcting the log messages. The alternative is to give push rights to a very few individuals, and have a patch review process through which the log messages could be corrected before pushing, but that requires more manpower than we currently have, so it cannot be used for now. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 18:09 ` Paul Eggert 2016-03-09 18:18 ` Karl Fogel @ 2016-03-10 21:23 ` Richard Stallman 2016-03-11 1:51 ` Paul Eggert 2016-03-11 8:48 ` Eli Zaretskii 1 sibling, 2 replies; 454+ messages in thread From: Richard Stallman @ 2016-03-10 21:23 UTC (permalink / raw) To: Paul Eggert; +Cc: eliz, johnw, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > So removing ChangeLog files will be a bad blow to our ability to > > easily and conveniently research the past, > No, this doesn't follow. If we use ChangeLog formats in commit messages, > we can still research the past easily and conveniently. I agree, as long as we include a compilation as a ChangeLog file in tar releases. Even though Git does not permit editing a commit message _as such_, we can provide, at a higher level, a way to correct old commit messages. Maintaining a ChangeLog file in the repository is one way to do this, but if it has flaws in the case of merging, can we design another mechanism for the job that solves the problems with merging? -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-10 21:23 ` Richard Stallman @ 2016-03-11 1:51 ` Paul Eggert 2016-03-11 8:48 ` Eli Zaretskii 1 sibling, 0 replies; 454+ messages in thread From: Paul Eggert @ 2016-03-11 1:51 UTC (permalink / raw) To: rms; +Cc: eliz, johnw, emacs-devel On 03/10/2016 01:23 PM, Richard Stallman wrote: > Maintaining a ChangeLog file in the repository is one way to do this, > but if it has flaws in the case of merging, can we design another mechanism > for the job that solves the problems with merging? Yes, one such approach (used by coreutils) was proposed a couple of days ago, in the patch archived here: http://lists.gnu.org/archive/html/emacs-devel/2016-03/msg00391.html Eli dislikes the way this supports patching old commit messages, and has proposed to instead use 'git replace'; we'd still use the abovementioned patch, but would patch old commit messages in a different way. We haven't yet tested this suggestion. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-10 21:23 ` Richard Stallman 2016-03-11 1:51 ` Paul Eggert @ 2016-03-11 8:48 ` Eli Zaretskii 2016-03-11 17:17 ` Nikolaus Rath 1 sibling, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-11 8:48 UTC (permalink / raw) To: rms; +Cc: eggert, johnw, emacs-devel > From: Richard Stallman <rms@gnu.org> > CC: eliz@gnu.org, johnw@gnu.org, emacs-devel@gnu.org > Date: Thu, 10 Mar 2016 16:23:48 -0500 > > Even though Git does not permit editing a commit message _as such_, we > can provide, at a higher level, a way to correct old commit messages. > Maintaining a ChangeLog file in the repository is one way to do this, > but if it has flaws in the case of merging, can we design another mechanism > for the job that solves the problems with merging? The known mechanisms are user-unfriendly, in that they require to write the corrections as editing commands for Perl or some other Sed-like facility. This is too error prone for a feature that should be usable by non-experts. A facility that could be considered is one that allows to type the correction as plain text which should replace the existing text in the Git log. We haven't found such a facility yet. "git replace" sounds like a promising alternative, though. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-11 8:48 ` Eli Zaretskii @ 2016-03-11 17:17 ` Nikolaus Rath 2016-03-11 18:03 ` Paul Eggert ` (2 more replies) 0 siblings, 3 replies; 454+ messages in thread From: Nikolaus Rath @ 2016-03-11 17:17 UTC (permalink / raw) To: emacs-devel On Mar 11 2016, Eli Zaretskii <eliz@gnu.org> wrote: >> From: Richard Stallman <rms@gnu.org> >> CC: eliz@gnu.org, johnw@gnu.org, emacs-devel@gnu.org >> Date: Thu, 10 Mar 2016 16:23:48 -0500 >> >> Even though Git does not permit editing a commit message _as such_, we >> can provide, at a higher level, a way to correct old commit messages. >> Maintaining a ChangeLog file in the repository is one way to do this, >> but if it has flaws in the case of merging, can we design another mechanism >> for the job that solves the problems with merging? > > The known mechanisms are user-unfriendly, in that they require to > write the corrections as editing commands for Perl or some other > Sed-like facility. This is too error prone for a feature that should > be usable by non-experts. > > A facility that could be considered is one that allows to type the > correction as plain text which should replace the existing text in the > Git log. We haven't found such a facility yet. "git replace" sounds > like a promising alternative, though. I think the low-tech option of a "commit-msg-override" directory with one (updated) commit message per file (and the file name being the hash of the commit being updated) is also still on the table. This directory could be trivially checked by whatever tool will be used to turn the git log into a ChangeLog file. Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-11 17:17 ` Nikolaus Rath @ 2016-03-11 18:03 ` Paul Eggert 2016-03-11 18:28 ` Eli Zaretskii 2016-03-11 22:37 ` Stefan Monnier 2 siblings, 0 replies; 454+ messages in thread From: Paul Eggert @ 2016-03-11 18:03 UTC (permalink / raw) To: emacs-devel Nikolaus Rath wrote: > I think the low-tech option of a "commit-msg-override" directory with > one (updated) commit message per file (and the file name being the hash > of the commit being updated) is also still on the table. Sure, I could add that fairly easily too. That would avoid the potential problems with 'git replace'. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-11 17:17 ` Nikolaus Rath 2016-03-11 18:03 ` Paul Eggert @ 2016-03-11 18:28 ` Eli Zaretskii 2016-03-11 19:53 ` Nikolaus Rath 2016-03-11 22:37 ` Stefan Monnier 2 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-11 18:28 UTC (permalink / raw) To: Nikolaus Rath; +Cc: emacs-devel > From: Nikolaus Rath <Nikolaus@rath.org> > Date: Fri, 11 Mar 2016 09:17:02 -0800 > > I think the low-tech option of a "commit-msg-override" directory with > one (updated) commit message per file (and the file name being the hash > of the commit being updated) is also still on the table. > > This directory could be trivially checked by whatever tool will be used > to turn the git log into a ChangeLog file. That could work, provided that Someone™ will post the changes to the gitlog-to-changelog script (or maybe an entirely different script) to produce ChangeLog from the log messages. This solution should also support merging from the release branch to master and cherry-picks in the opposite direction, where (AFAIK) SHA1 checksum is not necessarily left intact. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-11 18:28 ` Eli Zaretskii @ 2016-03-11 19:53 ` Nikolaus Rath 2016-03-11 20:04 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Nikolaus Rath @ 2016-03-11 19:53 UTC (permalink / raw) To: emacs-devel On Mar 11 2016, Eli Zaretskii <eliz@gnu.org> wrote: >> From: Nikolaus Rath <Nikolaus@rath.org> >> Date: Fri, 11 Mar 2016 09:17:02 -0800 >> >> I think the low-tech option of a "commit-msg-override" directory with >> one (updated) commit message per file (and the file name being the hash >> of the commit being updated) is also still on the table. >> >> This directory could be trivially checked by whatever tool will be used >> to turn the git log into a ChangeLog file. > > That could work, provided that Someone™ will post the changes to the > gitlog-to-changelog script (or maybe an entirely different script) to > produce ChangeLog from the log messages. > > This solution should also support merging from the release branch to > master and cherry-picks in the opposite direction, where (AFAIK) SHA1 > checksum is not necessarily left intact. I don't think *any* solution can support cherry-picks without extra manual work. Even if you keep the ChangeLog file under version control and edit it by hand, you have to cherry-pick the original commit plus the later commit that updated the ChangeLog. The same applies here, you have to cherry-pick both the original commit and the later one that created the "overwrite file" in the "commit-msg-override" directory. Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-11 19:53 ` Nikolaus Rath @ 2016-03-11 20:04 ` Eli Zaretskii 2016-03-11 20:08 ` Nikolaus Rath 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-11 20:04 UTC (permalink / raw) To: Nikolaus Rath; +Cc: emacs-devel > From: Nikolaus Rath <Nikolaus@rath.org> > Date: Fri, 11 Mar 2016 11:53:32 -0800 > > > This solution should also support merging from the release branch to > > master and cherry-picks in the opposite direction, where (AFAIK) SHA1 > > checksum is not necessarily left intact. > > I don't think *any* solution can support cherry-picks without extra > manual work. Even if you keep the ChangeLog file under version control > and edit it by hand, you have to cherry-pick the original commit plus > the later commit that updated the ChangeLog. ChangeLog is updated in the same commit as the code, so cherry-picking brings them both to the other branch. Or maybe I misunderstand what you mean by "the later commit"? > The same applies here, you have to cherry-pick both the original commit > and the later one that created the "overwrite file" in the > "commit-msg-override" directory. I hoped for some post-commit hook that could do that automatically, or at least suggest that another commit needs to be picked. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-11 20:04 ` Eli Zaretskii @ 2016-03-11 20:08 ` Nikolaus Rath 2016-03-11 20:33 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Nikolaus Rath @ 2016-03-11 20:08 UTC (permalink / raw) To: emacs-devel Hi Eli, Please do not Cc me on replies, I am reading the list. On Mar 11 2016, Eli Zaretskii <eliz@gnu.org> wrote: >> From: Nikolaus Rath <Nikolaus@rath.org> >> Date: Fri, 11 Mar 2016 11:53:32 -0800 >> >> > This solution should also support merging from the release branch to >> > master and cherry-picks in the opposite direction, where (AFAIK) SHA1 >> > checksum is not necessarily left intact. >> >> I don't think *any* solution can support cherry-picks without extra >> manual work. Even if you keep the ChangeLog file under version control >> and edit it by hand, you have to cherry-pick the original commit plus >> the later commit that updated the ChangeLog. > > ChangeLog is updated in the same commit as the code, so cherry-picking > brings them both to the other branch. Or maybe I misunderstand what > you mean by "the later commit"? We are talking about the case were the ChangeLog entry / original commit message was incorrect and need to be corrected later (in the "later commit"). Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-11 20:08 ` Nikolaus Rath @ 2016-03-11 20:33 ` Eli Zaretskii 2016-03-12 3:32 ` Nikolaus Rath 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-11 20:33 UTC (permalink / raw) To: emacs-devel > From: Nikolaus Rath <Nikolaus@rath.org> > Date: Fri, 11 Mar 2016 12:08:09 -0800 > > Please do not Cc me on replies, I am reading the list. That's the standard way of replying to a message: to the From address and to the CC address. I edited out yours this time, but I cannot afford doing that every time; if you want not to receive direct replies, you will have to configure your MUA to insert the necessary headers (like Mail-followups-to etc.). > > ChangeLog is updated in the same commit as the code, so cherry-picking > > brings them both to the other branch. Or maybe I misunderstand what > > you mean by "the later commit"? > > We are talking about the case were the ChangeLog entry / original commit > message was incorrect and need to be corrected later (in the "later > commit"). Apologies for my misunderstanding. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-11 20:33 ` Eli Zaretskii @ 2016-03-12 3:32 ` Nikolaus Rath 2016-03-12 7:47 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Nikolaus Rath @ 2016-03-12 3:32 UTC (permalink / raw) To: emacs-devel On Mar 11 2016, Eli Zaretskii <eliz@gnu.org> wrote: >> From: Nikolaus Rath <Nikolaus@rath.org> >> Date: Fri, 11 Mar 2016 12:08:09 -0800 >> >> Please do not Cc me on replies, I am reading the list. > > That's the standard way of replying to a message: to the From address > and to the CC address. I edited out yours this time, but I cannot > afford doing that every time; if you want not to receive direct > replies, you will have to configure your MUA to insert the necessary > headers (like Mail-followups-to etc.). Well, my messages all contain both: Mail-Copies-To: never Mail-Followup-To: emacs-devel@gnu.org ..is there any other convention that I'm not yet following? Thanks, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-12 3:32 ` Nikolaus Rath @ 2016-03-12 7:47 ` Eli Zaretskii 2016-03-13 21:43 ` Nikolaus Rath 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-12 7:47 UTC (permalink / raw) To: Nikolaus Rath; +Cc: emacs-devel > From: Nikolaus Rath <Nikolaus@rath.org> > Date: Fri, 11 Mar 2016 19:32:49 -0800 > > On Mar 11 2016, Eli Zaretskii <eliz@gnu.org> wrote: > >> From: Nikolaus Rath <Nikolaus@rath.org> > >> Date: Fri, 11 Mar 2016 12:08:09 -0800 > >> > >> Please do not Cc me on replies, I am reading the list. > > > > That's the standard way of replying to a message: to the From address > > and to the CC address. I edited out yours this time, but I cannot > > afford doing that every time; if you want not to receive direct > > replies, you will have to configure your MUA to insert the necessary > > headers (like Mail-followups-to etc.). > > Well, my messages all contain both: > > Mail-Copies-To: never > Mail-Followup-To: emacs-devel@gnu.org > > ..is there any other convention that I'm not yet following? I think you need "Reply-to: emacs-devel@gnu.org" as well. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-12 7:47 ` Eli Zaretskii @ 2016-03-13 21:43 ` Nikolaus Rath 2016-03-14 3:33 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Nikolaus Rath @ 2016-03-13 21:43 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Mar 12 2016, Eli Zaretskii <eliz@gnu.org> wrote: >> From: Nikolaus Rath <Nikolaus@rath.org> >> Date: Fri, 11 Mar 2016 19:32:49 -0800 >> >> On Mar 11 2016, Eli Zaretskii <eliz@gnu.org> wrote: >> >> From: Nikolaus Rath <Nikolaus@rath.org> >> >> Date: Fri, 11 Mar 2016 12:08:09 -0800 >> >> >> >> Please do not Cc me on replies, I am reading the list. >> > >> > That's the standard way of replying to a message: to the From address >> > and to the CC address. I edited out yours this time, but I cannot >> > afford doing that every time; if you want not to receive direct >> > replies, you will have to configure your MUA to insert the necessary >> > headers (like Mail-followups-to etc.). >> >> Well, my messages all contain both: >> >> Mail-Copies-To: never >> Mail-Followup-To: emacs-devel@gnu.org >> >> ..is there any other convention that I'm not yet following? > > I think you need "Reply-to: emacs-devel@gnu.org" as well. That's not a good idea, because it robs any reader of the choice of sending a personal or public reply. See http://cr.yp.to/proto/replyto.html for a more detailed discussion. Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-13 21:43 ` Nikolaus Rath @ 2016-03-14 3:33 ` Eli Zaretskii 2016-03-14 14:56 ` Nikolaus Rath 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-14 3:33 UTC (permalink / raw) To: Nikolaus Rath; +Cc: emacs-devel > From: Nikolaus Rath <Nikolaus@rath.org> > Cc: emacs-devel@gnu.org > Date: Sun, 13 Mar 2016 14:43:27 -0700 > > > I think you need "Reply-to: emacs-devel@gnu.org" as well. > > That's not a good idea, because it robs any reader of the choice of > sending a personal or public reply. > > See http://cr.yp.to/proto/replyto.html for a more detailed discussion. The problems mentioned there don't exist in our case. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-14 3:33 ` Eli Zaretskii @ 2016-03-14 14:56 ` Nikolaus Rath 2016-03-14 17:09 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Nikolaus Rath @ 2016-03-14 14:56 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Mar 14 2016, Eli Zaretskii <eliz@gnu.org> wrote: >> From: Nikolaus Rath <Nikolaus@rath.org> >> Cc: emacs-devel@gnu.org >> Date: Sun, 13 Mar 2016 14:43:27 -0700 >> >> > I think you need "Reply-to: emacs-devel@gnu.org" as well. >> >> That's not a good idea, because it robs any reader of the choice of >> sending a personal or public reply. >> >> See http://cr.yp.to/proto/replyto.html for a more detailed discussion. > > The problems mentioned there don't exist in our case. Why not? If I send Reply-To to my address, but the reader wants to reply to the list, he/she has to manually edit the recipient address. If I sent Reply-To to the list, the reader has to manually edit the recipient address if he/she wants to a reply just to me. The Mail-Copies-To header solves this properly. Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-14 14:56 ` Nikolaus Rath @ 2016-03-14 17:09 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-14 17:09 UTC (permalink / raw) To: Nikolaus Rath; +Cc: emacs-devel > From: Nikolaus Rath <Nikolaus@rath.org> > Cc: emacs-devel@gnu.org > Date: Mon, 14 Mar 2016 07:56:29 -0700 > > If I send Reply-To to my address, but the reader wants to reply to the > list, he/she has to manually edit the recipient address. If I sent > Reply-To to the list, the reader has to manually edit the recipient > address if he/she wants to a reply just to me. > > The Mail-Copies-To header solves this properly. IME, you are assuming too much about the MUA on the other side -- quite a few will behave the same with Mail-Copies-To as with Reply-To, or even ignore the former entirely. Anyway, if Reply-To doesn't work for you, I'm out of ideas (and I'm not an expert on this to begin with, just a long-time user). ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-11 17:17 ` Nikolaus Rath 2016-03-11 18:03 ` Paul Eggert 2016-03-11 18:28 ` Eli Zaretskii @ 2016-03-11 22:37 ` Stefan Monnier 2016-03-12 3:33 ` Nikolaus Rath 2016-03-12 19:26 ` Richard Stallman 2 siblings, 2 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-11 22:37 UTC (permalink / raw) To: emacs-devel > This directory could be trivially checked by whatever tool will be used > to turn the git log into a ChangeLog file. For me a solution which doesn't work (efficiently enough) with vc-region-history and vc-print-log is just pointless. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-11 22:37 ` Stefan Monnier @ 2016-03-12 3:33 ` Nikolaus Rath 2016-03-12 19:26 ` Richard Stallman 1 sibling, 0 replies; 454+ messages in thread From: Nikolaus Rath @ 2016-03-12 3:33 UTC (permalink / raw) To: emacs-devel On Mar 11 2016, Stefan Monnier <monnier@iro.umontreal.ca> wrote: >> This directory could be trivially checked by whatever tool will be used >> to turn the git log into a ChangeLog file. > > For me a solution which doesn't work (efficiently enough) with > vc-region-history and vc-print-log is just pointless. Ah, yeah, there was that. Sorry, forgot about that part. So it needs to be properly integrated in git then. Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-11 22:37 ` Stefan Monnier 2016-03-12 3:33 ` Nikolaus Rath @ 2016-03-12 19:26 ` Richard Stallman 2016-03-12 21:08 ` Stefan Monnier 1 sibling, 1 reply; 454+ messages in thread From: Richard Stallman @ 2016-03-12 19:26 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > For me a solution which doesn't work (efficiently enough) with > vc-region-history and vc-print-log is just pointless. We could modify them to check whatever mechanism, when working with Git. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-12 19:26 ` Richard Stallman @ 2016-03-12 21:08 ` Stefan Monnier 2016-03-12 22:10 ` John Wiegley 0 siblings, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-03-12 21:08 UTC (permalink / raw) To: Richard Stallman; +Cc: emacs-devel >> For me a solution which doesn't work (efficiently enough) with >> vc-region-history and vc-print-log is just pointless. > We could modify them to check whatever mechanism, when working with Git. In theory it's possible, yes. But Someone™ needs to figure out how to do it efficiently enough, and then Someone™ needs to actually do it. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-12 21:08 ` Stefan Monnier @ 2016-03-12 22:10 ` John Wiegley 2016-03-12 22:33 ` Stefan Monnier 0 siblings, 1 reply; 454+ messages in thread From: John Wiegley @ 2016-03-12 22:10 UTC (permalink / raw) To: Stefan Monnier; +Cc: Richard Stallman, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1880 bytes --] >>>>> Stefan Monnier <monnier@IRO.UMontreal.CA> writes: > In theory it's possible, yes. But Someone™ needs to figure out how to do it > efficiently enough, and then Someone™ needs to actually do it. I'm willing work on tooling for a satisfactory mechanism to allow us to eliminate the need for a separate ChangeLog file. I'm volunteering to be that Someone™, and to afterwards maintain it and field bugs in its use. I would also like to work directly with Eli and others to ensure it satisfies their needs and concerns. We know we need the following: 1. That commit messages be written in ChangeLog form. Regardless. 2. A file-based mechanism to amend commit messages, by allowing substitute commit messages. I prefer a single file, or set of files, rather than one file per commit. 3. That the mechanism in #2 work with merges, cherry-picking, rebasing, etc. (One way this could be achieved: base amendments on an SHA256 of the commit message+date being replaced, rather than the Git hash). 4. A way to generate a proper ChangeLog from #1 and #2, without taking too long, and without requiring Emacs to be built before-hand. 5. That "proper" history presented in #4 must also be available to other tools, such as `vc-region-history', etc. 6. An easy way for contributors to craft ChangeLog entries for commit messages. I mention this because I saw issues mentioned with the current C-x 4 a. I'll also take a look at what coreutils is already doing, but I share Eli's reservation about a Perl-based process for correcting messages. I prefer something dead simple, as a plain text file that anyone can edit and commit. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 629 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-12 22:10 ` John Wiegley @ 2016-03-12 22:33 ` Stefan Monnier 2016-03-13 15:53 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-03-12 22:33 UTC (permalink / raw) To: Richard Stallman; +Cc: emacs-devel > 3. That the mechanism in #2 work with merges, cherry-picking, rebasing, etc. AFAIK if the mechanism is file-based it will automatically work with merges (except for occasional conflicts to resolve, of course). Personally, I think that handling cherry-picking and rebasing is very secondary. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-12 22:33 ` Stefan Monnier @ 2016-03-13 15:53 ` Eli Zaretskii 2016-03-13 16:05 ` Dmitry Gutov 2016-03-13 17:52 ` David Caldwell 0 siblings, 2 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-13 15:53 UTC (permalink / raw) To: Stefan Monnier; +Cc: rms, emacs-devel > From: Stefan Monnier <monnier@IRO.UMontreal.CA> > Date: Sat, 12 Mar 2016 17:33:16 -0500 > Cc: emacs-devel@gnu.org > > Personally, I think that handling cherry-picking and rebasing is > very secondary. We use the former for backporting changes from master. As for the latter, I think quite a few people who track the development and contribute patches do that, so I think it's important for their workflows to be undisturbed. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-13 15:53 ` Eli Zaretskii @ 2016-03-13 16:05 ` Dmitry Gutov 2016-03-13 17:16 ` Eli Zaretskii 2016-03-13 17:16 ` Stefan Monnier 2016-03-13 17:52 ` David Caldwell 1 sibling, 2 replies; 454+ messages in thread From: Dmitry Gutov @ 2016-03-13 16:05 UTC (permalink / raw) To: Eli Zaretskii, Stefan Monnier; +Cc: rms, emacs-devel On 03/13/2016 05:53 PM, Eli Zaretskii wrote: > As for the > latter, I think quite a few people who track the development and > contribute patches do that, so I think it's important for their > workflows to be undisturbed. If a person can rebase, they can fix the commit message while doing that. There's no point is supporting an alternative mechanism there. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-13 16:05 ` Dmitry Gutov @ 2016-03-13 17:16 ` Eli Zaretskii 2016-03-13 17:22 ` Yuri Khan 2016-03-13 17:16 ` Stefan Monnier 1 sibling, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-13 17:16 UTC (permalink / raw) To: Dmitry Gutov; +Cc: emacs-devel, monnier, rms > Cc: rms@gnu.org, emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Sun, 13 Mar 2016 18:05:47 +0200 > > On 03/13/2016 05:53 PM, Eli Zaretskii wrote: > > As for the > > latter, I think quite a few people who track the development and > > contribute patches do that, so I think it's important for their > > workflows to be undisturbed. > > If a person can rebase, they can fix the commit message while doing > that. There's no point is supporting an alternative mechanism there. No, I mean the messages corrected in commits by others. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-13 17:16 ` Eli Zaretskii @ 2016-03-13 17:22 ` Yuri Khan 2016-03-13 17:30 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Yuri Khan @ 2016-03-13 17:22 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Emacs developers, Stefan Monnier, rms@gnu.org, Dmitry Gutov On Sun, Mar 13, 2016 at 11:16 PM, Eli Zaretskii <eliz@gnu.org> wrote: >> On 03/13/2016 05:53 PM, Eli Zaretskii wrote: >> > As for the >> > latter, I think quite a few people who track the development and >> > contribute patches do that, so I think it's important for their >> > workflows to be undisturbed. >> >> If a person can rebase, they can fix the commit message while doing >> that. There's no point is supporting an alternative mechanism there. > > No, I mean the messages corrected in commits by others. Commits by others do not typically occur on branches which are socially accepted as rebasable. The only case I can think of is when you cherry-pick someone’s commit into your feature branch while that commit had been corrected. Is that the case you have in mind? ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-13 17:22 ` Yuri Khan @ 2016-03-13 17:30 ` Eli Zaretskii 2016-03-13 17:42 ` Yuri Khan 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-13 17:30 UTC (permalink / raw) To: Yuri Khan; +Cc: emacs-devel, monnier, rms, dgutov > From: Yuri Khan <yuri.v.khan@gmail.com> > Date: Sun, 13 Mar 2016 23:22:40 +0600 > Cc: Dmitry Gutov <dgutov@yandex.ru>, Emacs developers <emacs-devel@gnu.org>, > Stefan Monnier <monnier@iro.umontreal.ca>, "rms@gnu.org" <rms@gnu.org> > > > No, I mean the messages corrected in commits by others. > > Commits by others do not typically occur on branches which are > socially accepted as rebasable. The only case I can think of is when > you cherry-pick someone’s commit into your feature branch while that > commit had been corrected. Is that the case you have in mind? No, I mean "git pull --rebase" and its variants. AFAIK, there's nothing anti-social in such a workflow, when you have local unpushed commits that you intend to push later. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-13 17:30 ` Eli Zaretskii @ 2016-03-13 17:42 ` Yuri Khan 2016-03-13 18:09 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Yuri Khan @ 2016-03-13 17:42 UTC (permalink / raw) To: Eli Zaretskii Cc: Emacs developers, Stefan Monnier, rms@gnu.org, Brief Busters On Sun, Mar 13, 2016 at 11:30 PM, Eli Zaretskii <eliz@gnu.org> wrote: >> > No, I mean the messages corrected in commits by others. >> >> Commits by others do not typically occur on branches which are >> socially accepted as rebasable. The only case I can think of is when >> you cherry-pick someone’s commit into your feature branch while that >> commit had been corrected. Is that the case you have in mind? > > No, I mean "git pull --rebase" and its variants. AFAIK, there's > nothing anti-social in such a workflow, when you have local unpushed > commits that you intend to push later. If you do a git pull --rebase, then your branch now starts after the other’s commit. I assume any corrections that apply to that commit on master (or whatever other development branch it is on), also apply to that same commit as seen from your feature branch. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-13 17:42 ` Yuri Khan @ 2016-03-13 18:09 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-13 18:09 UTC (permalink / raw) To: Yuri Khan; +Cc: emacs-devel, monnier, rms, dgutov > From: Yuri Khan <yuri.v.khan@gmail.com> > Date: Sun, 13 Mar 2016 23:42:29 +0600 > Cc: Brief Busters <dgutov@yandex.ru>, Emacs developers <emacs-devel@gnu.org>, > Stefan Monnier <monnier@iro.umontreal.ca>, "rms@gnu.org" <rms@gnu.org> > > On Sun, Mar 13, 2016 at 11:30 PM, Eli Zaretskii <eliz@gnu.org> wrote: > > If you do a git pull --rebase, then your branch now starts after the > other’s commit. I assume any corrections that apply to that commit on > master (or whatever other development branch it is on), also apply to > that same commit as seen from your feature branch. It probably will be, yes. But since the details of the mechanism are not yet finalized, I think it's important to have this requirement on the table, together with others. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-13 16:05 ` Dmitry Gutov 2016-03-13 17:16 ` Eli Zaretskii @ 2016-03-13 17:16 ` Stefan Monnier 1 sibling, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-13 17:16 UTC (permalink / raw) To: emacs-devel > We use the former for backporting changes from master. As for the I know we use cherry-picking, but I still think it's secondary to make sure the "git log fixes" are propagated correctly in those cases. I'm not opposed to it. I just think it's of much lesser importance than everything else we've considered in this thread. > If a person can rebase, they can fix the commit message while doing > that. There's no point is supporting an alternative mechanism there. Exactly. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-13 15:53 ` Eli Zaretskii 2016-03-13 16:05 ` Dmitry Gutov @ 2016-03-13 17:52 ` David Caldwell 1 sibling, 0 replies; 454+ messages in thread From: David Caldwell @ 2016-03-13 17:52 UTC (permalink / raw) To: Eli Zaretskii, Stefan Monnier; +Cc: rms, emacs-devel [-- Attachment #1: Type: text/plain, Size: 2032 bytes --] On 3/13/16 8:53 AM, Eli Zaretskii wrote: >> From: Stefan Monnier <monnier@IRO.UMontreal.CA> >> Date: Sat, 12 Mar 2016 17:33:16 -0500 >> Cc: emacs-devel@gnu.org >> >> Personally, I think that handling cherry-picking and rebasing is >> very secondary. > > We use the former for backporting changes from master. Cherry-picking a replaced commit works, as long as you use the replacement SHA. This is the hash that shows up when you `git log`, so it should just work without any thought on the part of the cherry-picker. > As for the latter, I think quite a few people who track the > development and contribute patches do that, so I think it's important > for their workflows to be undisturbed. I don't see why people who are tracking Emacs are rebasing commits which have been pushed to the master or branch. Nonetheless, if you rebase and one of the commits you are rebasing has been replaced, the replacement gets used instead of the original. In both of these cases, the new commit doesn't generate new replacement commits. This means, for the use case we are thinking of here, that the old (presumably incorrect) log message will be lost when you rebase or cherry-pick. -David Here's my test log if you want to recreate my results, or poke around a .git repo with replacements: mkdir -p /tmp/test/a cd /tmp/test/a git init echo a > a git add a git commit -m "a" echo b > a git add a git commit -m "changes" git replace --edit HEAD # changed the message in emacs to "b" git log # verified message was changed git checkout HEAD^ git checkout -b c echo c > c git add c git commit -m "c" git log master git cherry-pick e3291a2f81bad7b24ba18e28e60378667ff78acd # The hash that the previous `git log master` showed git log # verified cherry-picked commit has correct message find .git/refs/ # no new replacement refs created git checkout master git rebase c git log find .git/refs/ # no new replacement refs created [-- Attachment #2: S/MIME Cryptographic Signature --] [-- Type: application/pkcs7-signature, Size: 3819 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 6:41 ` John Wiegley 2016-03-09 15:53 ` Eli Zaretskii @ 2016-03-09 16:41 ` Eli Zaretskii 2016-03-09 18:24 ` Paul Eggert 1 sibling, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 16:41 UTC (permalink / raw) To: John Wiegley; +Cc: ofv, i.lohmar, emacs-devel > From: John Wiegley <jwiegley@gmail.com> > Date: Tue, 08 Mar 2016 22:41:49 -0800 > Cc: ofv@wanadoo.es, Ingo Lohmar <i.lohmar@gmail.com>, emacs-devel@gnu.org > > > Find a better and more reliable way of dealing with the problems described > > here, and I'll be the first to agree not to reintroduce ChangeLogs. > > As far as I understand so far, we have only a few needs. If I've understood > incorrectly, please let me know, as this thread has wandered in a few places. > > 1. We need a way to ensure quality commit messages from contributors. > 2. We'd like to be able to correct commit messages after the fact. > 3. We need a convenient way to both create and access this information. > 4. We want to publish the history of these commit messages in the tarball. > > The ChangeLog file and its format are one implementation of these needs that > has worked over the years. Are you saying that if we move to something else, > and it fulfills these criteria, you'd be just as happy with it? Yes. However, putting on my system engineer hat, let me make sure the list of requirements covers all the aspects: 5. The "history of commit messages" produced in 4 above should resemble a ChangeLog file (ideally, it should use the same format). 6. The solution should allow manual generation of the "history" file mentioned in 4, on demand, in reasonably short time, even if the repo clone does not include a built Emacs. (It is okay to use the installed Emacs binary, if necessary.) 7. The solution should support Git workflows we allow: merging between branches, rebasing local changes on upstream, cherry-picking from another branch, reverting a commit, tagging a commit, and amending an unpushed commit. "Support" here means that the solution should not impose limitations on these workflows, and the steps for updating whatever databases the solution will use should not require additional manual work as result of using these workflows. (I'm not saying these additions are something non-obvious, I just want to make sure we have everything covered.) ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 16:41 ` Eli Zaretskii @ 2016-03-09 18:24 ` Paul Eggert 2016-03-09 18:41 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-03-09 18:24 UTC (permalink / raw) To: Eli Zaretskii, John Wiegley; +Cc: ofv, i.lohmar, emacs-devel On 03/09/2016 08:41 AM, Eli Zaretskii wrote: >> From: John Wiegley <jwiegley@gmail.com> >> ... we have only a few needs. If I've understood >> incorrectly, please let me know, as this thread has wandered in a few places. >> >> 1. We need a way to ensure quality commit messages from contributors. This boils down to applying social pressure, one way or another, regardless of the technical details about how ChangeLog entries are recorded. >> 2. We'd like to be able to correct commit messages after the fact. >> 3. We need a convenient way to both create and access this information. >> 4. We want to publish the history of these commit messages in the tarball. >> >> The ChangeLog file and its format are one implementation of these needs that >> has worked over the years. Are you saying that if we move to something else, >> and it fulfills these criteria, you'd be just as happy with it? > Yes. > > However, putting on my system engineer hat, let me make sure the list > of requirements covers all the aspects: > > 5. The "history of commit messages" produced in 4 above should > resemble a ChangeLog file (ideally, it should use the same > format). > 6. The solution should allow manual generation of the "history" file > mentioned in 4, on demand, in reasonably short time, even if the > repo clone does not include a built Emacs. (It is okay to use the > installed Emacs binary, if necessary.) > 7. The solution should support Git workflows we allow: merging > between branches, rebasing local changes on upstream, > cherry-picking from another branch, reverting a commit, tagging a > commit, and amending an unpushed commit. "Support" here means > that the solution should not impose limitations on these > workflows, and the steps for updating whatever databases the > solution will use should not require additional manual work as > result of using these workflows. > The coreutils-like approach that I recently proposed should satisfy requirements (2) through (7). See: https://lists.gnu.org/archive/html/emacs-devel/2016-03/msg00391.html ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 18:24 ` Paul Eggert @ 2016-03-09 18:41 ` Eli Zaretskii 2016-03-09 19:10 ` Paul Eggert 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 18:41 UTC (permalink / raw) To: Paul Eggert; +Cc: ofv, i.lohmar, johnw, emacs-devel > Cc: ofv@wanadoo.es, i.lohmar@gmail.com, emacs-devel@gnu.org > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Wed, 9 Mar 2016 10:24:33 -0800 > > The coreutils-like approach that I recently proposed should satisfy > requirements (2) through (7). See: > > https://lists.gnu.org/archive/html/emacs-devel/2016-03/msg00391.html It doesn't satisfy (3). More generally, it won't work because it requires the amendments to be in a form that is tedious to produce and error-prone. I don't see how we can have more motivation for using this than we have for the current method. This method is fine for a small group of veteran hackers who never make mistakes writing Perl editing commands (but then those hackers don't need this facility anyway) and when the number of amendments is small. So: thanks, but no, thanks. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 18:41 ` Eli Zaretskii @ 2016-03-09 19:10 ` Paul Eggert 2016-03-09 19:20 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-03-09 19:10 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ofv, i.lohmar, johnw, emacs-devel > 3. We need a convenient way to both create and access this information. On 03/09/2016 10:41 AM, Eli Zaretskii wrote: >> From: Paul Eggert >> >> The coreutils-like approach that I recently proposed should satisfy >> requirements (2) through (7). See: >> >> https://lists.gnu.org/archive/html/emacs-devel/2016-03/msg00391.html > It doesn't satisfy (3). Sure it does. There are lots of ways to look at Git logs, ranging from plain "git log" through VC commands through running "make gen-ChangeLog" and looking at the resulting ChangeLog file. One old-fashioned example: on my 6-year-old desktop it takes 2.3 seconds to generate the entire log of all 125,294 commits to the Emacs repository's main branch, using plain "git log". This generates a 37 MB file that Emacs can easily load and I can quickly search through interactively, or apply 'grep' to, or whatever. It's not a problem. When Emacs was first developed, this sort of approach would have been prohibitively expensive. Nowadays it's no big deal. As for convenient way to create the information, that's trivial: just put it into the commit message. This has long been common practice with Emacs. > it requires the amendments to be > in a form that is tedious to produce and error-prone. It's not that bad, and it's good enough. True, it will discourage minor tidying-up of old entries (reindenting and the like), but that's a good thing. We should be spending our scarce development resources in more important areas. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 19:10 ` Paul Eggert @ 2016-03-09 19:20 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 19:20 UTC (permalink / raw) To: Paul Eggert; +Cc: ofv, i.lohmar, johnw, emacs-devel > Cc: ofv@wanadoo.es, i.lohmar@gmail.com, johnw@gnu.org, emacs-devel@gnu.org > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Wed, 9 Mar 2016 11:10:50 -0800 > > > 3. We need a convenient way to both create and access this information. > > On 03/09/2016 10:41 AM, Eli Zaretskii wrote: > >> From: Paul Eggert > >> > >> The coreutils-like approach that I recently proposed should satisfy > >> requirements (2) through (7). See: > >> > >> https://lists.gnu.org/archive/html/emacs-devel/2016-03/msg00391.html > > It doesn't satisfy (3). > > Sure it does. There are lots of ways to look at Git logs, ranging from > plain "git log" through VC commands through running "make gen-ChangeLog" > and looking at the resulting ChangeLog file. The point is the "convenient" part. > > it requires the amendments to be > > in a form that is tedious to produce and error-prone. > > It's not that bad, and it's good enough. True, it will discourage minor > tidying-up of old entries (reindenting and the like), but that's a good > thing. We should be spending our scarce development resources in more > important areas. It simply won't work, certainly not better than what we have now. Corrections should be made of plain text, otherwise no one except yourself will do that (or maybe not even that, since you see this as a waste). ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 3:46 ` Eli Zaretskii 2016-03-09 6:41 ` John Wiegley @ 2016-03-09 19:51 ` Ingo Lohmar 2016-03-09 20:30 ` Eli Zaretskii 1 sibling, 1 reply; 454+ messages in thread From: Ingo Lohmar @ 2016-03-09 19:51 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ofv, emacs-devel Hi Eli, On Wed, Mar 09 2016 05:46 (+0200), Eli Zaretskii wrote: > That's because some people don't seem to read the thread, and keep > coming up with the same incorrect arguments time and again. Ok, so now we have established that we both think the other is not reading the read "correctly" :) >> "git log" messages cannot technically be both immutable and >> unreliable: At least there is some severely imprecise use of >> language going on. > > You need to read the thread to understand what is being alluded to. > "Unreliable" in the sense that its text includes mistakes and cannot > be trusted. I realized that this may seem like nitpicking and apologized in my other response. > Emacs development doesn't work by requiring each commit be posted for > review as prerequisite for committing, so what Oscar suggests is not > possible. (Please don't ask why, it was explained many times > already.) Do you mean in this thread or elsewhere? I would honestly appreciate it if you could point me to such a discussion, as I am not aware of the arguments. In fact, in this very thread, the previous Emacs maintainer has contemplated an automatic queueing system, so it surprises me that such a scheme should be totally out of the question. (Note that I have not advocated any specific means, like posting each patch for review. I realize there is a lot of work and little time, and I greatly appreciate your constant work on Emacs.) > >> The whole argument for Changelogs comes down to a) being an established >> band-aid to clean up spilt milk, or b) providing a fixed-form summary of >> things that can be obtained using the VCS (provided the humans or tools >> wirting the Changelog are as "reliable" as the VCS). > > Find a better and more reliable way of dealing with the problems > described here, and I'll be the first to agree not to reintroduce > ChangeLogs. Several solutions to both a) and b) were proposed in this thread. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 19:51 ` Ingo Lohmar @ 2016-03-09 20:30 ` Eli Zaretskii 2016-03-09 20:50 ` Ingo Lohmar 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 20:30 UTC (permalink / raw) To: Ingo Lohmar; +Cc: ofv, emacs-devel > From: Ingo Lohmar <i.lohmar@gmail.com> > Cc: ofv@wanadoo.es, emacs-devel@gnu.org > Date: Wed, 09 Mar 2016 20:51:15 +0100 > > > Emacs development doesn't work by requiring each commit be posted for > > review as prerequisite for committing, so what Oscar suggests is not > > possible. (Please don't ask why, it was explained many times > > already.) > > Do you mean in this thread or elsewhere? Both. (This is not the first time these issues are discussed.) > I would honestly appreciate it if you could point me to such a > discussion, as I am not aware of the arguments. In one word: manpower. In 3 words: lack of manpower. > In fact, in this very thread, the previous Emacs maintainer > has contemplated an automatic queueing system, so it surprises me that > such a scheme should be totally out of the question. It's not out of the question. But we are just contemplating it. Before we could rely on it enough to make significant decisions like the one discussed here, we'd need stop contemplating, install the procedures to implement such a queuing system, run it for a while, perhaps augment it some, until it's reliable enough and brings consistently good results. _Then_, and no earlier, we can base changes in development process on such a system. We are not there yet. Until we are, we need to find a workable solution with what we have now. > > Find a better and more reliable way of dealing with the problems > > described here, and I'll be the first to agree not to reintroduce > > ChangeLogs. > > Several solutions to both a) and b) were proposed in this thread. Unfortunately, they don't fit the bill. See the rest of the thread for why. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 20:30 ` Eli Zaretskii @ 2016-03-09 20:50 ` Ingo Lohmar 2016-03-09 21:03 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Ingo Lohmar @ 2016-03-09 20:50 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ofv, emacs-devel On Wed, Mar 09 2016 22:30 (+0200), Eli Zaretskii wrote: >> > Emacs development doesn't work by requiring each commit be posted for >> > review as prerequisite for committing, so what Oscar suggests is not >> > possible. (Please don't ask why, it was explained many times >> > already.) >> >> Do you mean in this thread or elsewhere? > > Both. (This is not the first time these issues are discussed.) > >> I would honestly appreciate it if you could point me to such a >> discussion, as I am not aware of the arguments. > > In one word: manpower. In 3 words: lack of manpower. You have omitted the part where I said that I do not advocate a mandatory review. Several other schemes (some of them highly, perhaps too highly, refined) have been proposed. > >> In fact, in this very thread, the previous Emacs maintainer >> has contemplated an automatic queueing system, so it surprises me that >> such a scheme should be totally out of the question. > > It's not out of the question. But we are just contemplating it. > Before we could rely on it enough to make significant decisions like > the one discussed here, we'd need stop contemplating, install the > procedures to implement such a queuing system, run it for a while, > perhaps augment it some, until it's reliable enough and brings > consistently good results. _Then_, and no earlier, we can base > changes in development process on such a system. We are not there > yet. Until we are, we need to find a workable solution with what we > have now. No disagreement here. I am nowhere near an anti-Changelog zealot, BTW. It's just that I think there were/are a lot of smoke-and-mirrors arguments flying around. In fact, I think that your above paragraph is a much better argument to keep Changelogs around for the time being than any arguments that have been made in this thread alluding to their importance in the development process. > >> > Find a better and more reliable way of dealing with the problems >> > described here, and I'll be the first to agree not to reintroduce >> > ChangeLogs. >> >> Several solutions to both a) and b) were proposed in this thread. > > Unfortunately, they don't fit the bill. See the rest of the thread > for why. This blanket statement is exactly as helpful as saying that they would work perfectly fine. We obviously disagree on this. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-09 20:50 ` Ingo Lohmar @ 2016-03-09 21:03 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 21:03 UTC (permalink / raw) To: Ingo Lohmar; +Cc: ofv, emacs-devel > From: Ingo Lohmar <i.lohmar@gmail.com> > Cc: ofv@wanadoo.es, emacs-devel@gnu.org > Date: Wed, 09 Mar 2016 21:50:34 +0100 > > In fact, I think that your above paragraph is a much better argument to > keep Changelogs around for the time being than any arguments that have > been made in this thread alluding to their importance in the development > process. Each one of us has their own knobs that need to be pushed to drive point home. It's only natural. > >> > Find a better and more reliable way of dealing with the problems > >> > described here, and I'll be the first to agree not to reintroduce > >> > ChangeLogs. > >> > >> Several solutions to both a) and b) were proposed in this thread. > > > > Unfortunately, they don't fit the bill. See the rest of the thread > > for why. > > This blanket statement is exactly as helpful as saying that they would > work perfectly fine. I explained at length elsewhere, so the above is just a summary, not a blanket rejection. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 20:46 ` Nikolaus Rath ` (3 preceding siblings ...) 2016-03-07 21:30 ` Lars Magne Ingebrigtsen @ 2016-03-08 3:30 ` Stefan Monnier 2016-03-08 5:33 ` Nikolaus Rath 4 siblings, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 3:30 UTC (permalink / raw) To: emacs-devel > When I submitted my first Emacs patch, I was astonished when I was asked > to re-submit with my commit message essentially duplicated in the > ChangeLog. I can't remember ever asking this kind of duplication. We used to duplicate the ChangeLog-info in the ChangeLog file and in the commit message (tho we stopped doing it a year ago), but we never asked for it to be duplicated in the email messages that submits a patch. So I have the impression that I'm misunderstanding you. Could you describe more precisely the kind of duplication you're talking about? Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 3:30 ` Stefan Monnier @ 2016-03-08 5:33 ` Nikolaus Rath 2016-03-08 6:39 ` Eric Abrahamsen 2016-03-08 14:38 ` Stefan Monnier 0 siblings, 2 replies; 454+ messages in thread From: Nikolaus Rath @ 2016-03-08 5:33 UTC (permalink / raw) To: emacs-devel On Mar 07 2016, Stefan Monnier <monnier@iro.umontreal.ca> wrote: >> When I submitted my first Emacs patch, I was astonished when I was asked >> to re-submit with my commit message essentially duplicated in the >> ChangeLog. > > I can't remember ever asking this kind of duplication. We used to > duplicate the ChangeLog-info in the ChangeLog file and in the commit > message (tho we stopped doing it a year ago), but we never asked for it > to be duplicated in the email messages that submits a patch. > > So I have the impression that I'm misunderstanding you. Could you > describe more precisely the kind of duplication you're talking about? No, you understood me correctly. However, I've just looked this up again and it turns out I was actually submitting a patch to Gnus, not Emacs. It was eventually committed by Eric Abrahamsen to the Gnus git repo, who first asked me to re-submit my patch with a commit message that was formatted like a Changelog entry, and to duplicate the message in the ChangeLog itself. It seemed to me that he considered that a questionable practice himself, but said it was obligatory because Gnus closely followed the Emacs standards here. Unfortunately that discussion never made it into the bug (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20956), so I'm paraphrasing from memory. But I'm pretty sure I'm remembering correctly, because I was so surprised by this. Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 5:33 ` Nikolaus Rath @ 2016-03-08 6:39 ` Eric Abrahamsen 2016-03-08 16:08 ` Nikolaus Rath 2016-03-08 14:38 ` Stefan Monnier 1 sibling, 1 reply; 454+ messages in thread From: Eric Abrahamsen @ 2016-03-08 6:39 UTC (permalink / raw) To: emacs-devel Nikolaus Rath <Nikolaus@rath.org> writes: > On Mar 07 2016, Stefan Monnier <monnier@iro.umontreal.ca> wrote: >>> When I submitted my first Emacs patch, I was astonished when I was asked >>> to re-submit with my commit message essentially duplicated in the >>> ChangeLog. >> >> I can't remember ever asking this kind of duplication. We used to >> duplicate the ChangeLog-info in the ChangeLog file and in the commit >> message (tho we stopped doing it a year ago), but we never asked for it >> to be duplicated in the email messages that submits a patch. >> >> So I have the impression that I'm misunderstanding you. Could you >> describe more precisely the kind of duplication you're talking about? > > No, you understood me correctly. However, I've just looked this up again > and it turns out I was actually submitting a patch to Gnus, not > Emacs. It was eventually committed by Eric Abrahamsen to the Gnus git > repo, who first asked me to re-submit my patch with a commit message > that was formatted like a Changelog entry, and to duplicate the message > in the ChangeLog itself. It seemed to me that he considered that a > questionable practice himself, but said it was obligatory because Gnus > closely followed the Emacs standards here. > > > Unfortunately that discussion never made it into the bug > (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20956), so I'm > paraphrasing from memory. But I'm pretty sure I'm remembering correctly, > because I was so surprised by this. Not duplicating it in the email, just commit message + ChangeLog duplication. This may be getting conflated with me asking for the commit to be emailed as a git-format-patch attachment, which was just because I was lazy (and it also preserves the author/committer distinction). But yes, Gnus was doing the ChangeLog dance right up until the repo merged with Emacs -- I pushed a couple of changes there just before that, neglecting to include the ChangeLog, and someone went and cleaned up after me. Embarrassing. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 6:39 ` Eric Abrahamsen @ 2016-03-08 16:08 ` Nikolaus Rath 2016-03-08 16:43 ` Eli Zaretskii 2016-03-09 0:47 ` Eric Abrahamsen 0 siblings, 2 replies; 454+ messages in thread From: Nikolaus Rath @ 2016-03-08 16:08 UTC (permalink / raw) To: emacs-devel On Mar 08 2016, Eric Abrahamsen <eric@ericabrahamsen.net> wrote: > Nikolaus Rath <Nikolaus@rath.org> writes: > >> On Mar 07 2016, Stefan Monnier <monnier@iro.umontreal.ca> wrote: >>>> When I submitted my first Emacs patch, I was astonished when I was asked >>>> to re-submit with my commit message essentially duplicated in the >>>> ChangeLog. >>> >>> I can't remember ever asking this kind of duplication. We used to >>> duplicate the ChangeLog-info in the ChangeLog file and in the commit >>> message (tho we stopped doing it a year ago), but we never asked for it >>> to be duplicated in the email messages that submits a patch. >>> >>> So I have the impression that I'm misunderstanding you. Could you >>> describe more precisely the kind of duplication you're talking about? >> >> No, you understood me correctly. However, I've just looked this up again >> and it turns out I was actually submitting a patch to Gnus, not >> Emacs. It was eventually committed by Eric Abrahamsen to the Gnus git >> repo, who first asked me to re-submit my patch with a commit message >> that was formatted like a Changelog entry, and to duplicate the message >> in the ChangeLog itself. It seemed to me that he considered that a >> questionable practice himself, but said it was obligatory because Gnus >> closely followed the Emacs standards here. >> >> >> Unfortunately that discussion never made it into the bug >> (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20956), so I'm >> paraphrasing from memory. But I'm pretty sure I'm remembering correctly, >> because I was so surprised by this. > > Not duplicating it in the email, just commit message + ChangeLog > duplication. This may be getting conflated with me asking for the commit > to be emailed as a git-format-patch attachment, which was just because I > was lazy (and it also preserves the author/committer distinction). Actually, I was quite happy about that. I very much prefer if patches that I submit also have me as the author of the commit. (Eric, I think my last email sounded a bit like telling on you. I'm sorry about that, I think I should have written it differently (or asked you first). I'm very grateful for the time you took to help me with those patches, and for patiently explaining the rationale for the format). Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 16:08 ` Nikolaus Rath @ 2016-03-08 16:43 ` Eli Zaretskii 2016-03-09 0:47 ` Eric Abrahamsen 1 sibling, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 16:43 UTC (permalink / raw) To: Nikolaus Rath; +Cc: emacs-devel > From: Nikolaus Rath <Nikolaus@rath.org> > Date: Tue, 08 Mar 2016 08:08:54 -0800 > > I very much prefer if patches that I submit also have me as the > author of the commit. Of course! We cannot do it any other way, if only for legal reasons. If you don't use git-format-patch, then the committer should use "git commit --author" to achieve the same effect. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 16:08 ` Nikolaus Rath 2016-03-08 16:43 ` Eli Zaretskii @ 2016-03-09 0:47 ` Eric Abrahamsen 1 sibling, 0 replies; 454+ messages in thread From: Eric Abrahamsen @ 2016-03-09 0:47 UTC (permalink / raw) To: emacs-devel Nikolaus Rath <Nikolaus@rath.org> writes: > On Mar 08 2016, Eric Abrahamsen <eric@ericabrahamsen.net> wrote: >> Nikolaus Rath <Nikolaus@rath.org> writes: >> >>> On Mar 07 2016, Stefan Monnier <monnier@iro.umontreal.ca> wrote: >>>>> When I submitted my first Emacs patch, I was astonished when I was asked >>>>> to re-submit with my commit message essentially duplicated in the >>>>> ChangeLog. >>>> >>>> I can't remember ever asking this kind of duplication. We used to >>>> duplicate the ChangeLog-info in the ChangeLog file and in the commit >>>> message (tho we stopped doing it a year ago), but we never asked for it >>>> to be duplicated in the email messages that submits a patch. >>>> >>>> So I have the impression that I'm misunderstanding you. Could you >>>> describe more precisely the kind of duplication you're talking about? >>> >>> No, you understood me correctly. However, I've just looked this up again >>> and it turns out I was actually submitting a patch to Gnus, not >>> Emacs. It was eventually committed by Eric Abrahamsen to the Gnus git >>> repo, who first asked me to re-submit my patch with a commit message >>> that was formatted like a Changelog entry, and to duplicate the message >>> in the ChangeLog itself. It seemed to me that he considered that a >>> questionable practice himself, but said it was obligatory because Gnus >>> closely followed the Emacs standards here. >>> >>> >>> Unfortunately that discussion never made it into the bug >>> (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20956), so I'm >>> paraphrasing from memory. But I'm pretty sure I'm remembering correctly, >>> because I was so surprised by this. >> >> Not duplicating it in the email, just commit message + ChangeLog >> duplication. This may be getting conflated with me asking for the commit >> to be emailed as a git-format-patch attachment, which was just because I >> was lazy (and it also preserves the author/committer distinction). > > Actually, I was quite happy about that. I very much prefer if patches > that I submit also have me as the author of the commit. That was my thinking, though as Eli and others point out, it's usually done differently. > (Eric, I think my last email sounded a bit like telling on you. I'm > sorry about that, I think I should have written it differently (or asked > you first). I'm very grateful for the time you took to help me with > those patches, and for patiently explaining the rationale for the > format). No worries, I didn't read it that way! I'm very much not a maintainer, just someone who occasionally patches Gnus when Lars is on vacation, so it's been a learning experience for me, too. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 5:33 ` Nikolaus Rath 2016-03-08 6:39 ` Eric Abrahamsen @ 2016-03-08 14:38 ` Stefan Monnier 1 sibling, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 14:38 UTC (permalink / raw) To: emacs-devel > No, you understood me correctly. However, I've just looked this up again > and it turns out I was actually submitting a patch to Gnus, not > Emacs. I see. Not sure how the Gnus guys did it, but in Emacs we asked for "the diff (not including the change to the ChangeLog file)" plus "the text to add to the ChangeLog file". Then the guy who committed this change would copy the ChangeLog text into the ChangeLog file *and* into the commit message. So the submitter did not see the duplication. This was done not really for the submitter's sake (tho she also benefitted) but because it's easier to copy the ChangeLog text than to have to deal with the problem of a patch that doesn't apply because the ChangeLog file has changed in the mean time. IOW, I understand your surprise, and Emacs submitters AFAIK haven't had to deal with such situations, so it's not really relevant to this whole discussion. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-06 21:52 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) John Wiegley ` (2 preceding siblings ...) 2016-03-06 23:06 ` Drew Adams @ 2016-03-07 0:22 ` Mathieu Lirzin 2016-03-07 1:19 ` bug#21998: " Eric S. Raymond 2016-03-07 16:30 ` Eli Zaretskii 2016-03-07 9:29 ` Alan Mackenzie ` (3 subsequent siblings) 7 siblings, 2 replies; 454+ messages in thread From: Mathieu Lirzin @ 2016-03-07 0:22 UTC (permalink / raw) To: Emacs developers; +Cc: 21998, Lars Magne Ingebrigtsen Hi, John Wiegley <jwiegley@gmail.com> writes: > On Sun, Mar 06 2016 13:07 (-0800), John Wiegley wrote: >> >> I have always wanted to drop the ChangeLogs, so if the other developers agree, >> I'm all for it. Keeping ChangeLog style in the commit entry is not terribly >> useful either, since the diff output of log -p lets you know which function or >> variable is being modified. I've never missed not having that ChangeLog data >> in other projects, of any size. But that's up to the other developers and what >> makes their lives easier. > > I'd like to open this up to discussion on emacs-devel, so that we hear from > our other developers. What do you all think about ChangeLogs, and their value > to you in your work on Emacs? Discussing such thing seems reasonable. However I don't think any decision should be made by Emacs developpers on their own. Change Logs are part of the GCS so relaxing their requirement should be made at a GNU level instead. In my short experience, Change Logs has generally been useful both when reading and composing them. When writing them it helps me structure large changes in logical commits that are modelled by the Change Log format. Finally It helps me being precise in my wordings which is not trivial for non-native english speakers. On a more spiritual side, I think they belong to the zen of contributing to a GNU project. :) -- Mathieu Lirzin ^ permalink raw reply [flat|nested] 454+ messages in thread
* bug#21998: Is it time to drop ChangeLogs? 2016-03-07 0:22 ` Mathieu Lirzin @ 2016-03-07 1:19 ` Eric S. Raymond 2016-03-07 16:30 ` Eli Zaretskii 1 sibling, 0 replies; 454+ messages in thread From: Eric S. Raymond @ 2016-03-07 1:19 UTC (permalink / raw) To: Mathieu Lirzin; +Cc: 21998, Lars Magne Ingebrigtsen, Emacs developers Mathieu Lirzin <mthl@gnu.org>: > On a more spiritual side, I think they belong to the zen of contributing > to a GNU project. :) Dear Goddess, I hope you're joking. Speaking as a very, *very* long-time GNU contributor (I'm pretty sure my earliest Emacs patches predated the formation of the FSF), I consider ChangeLogs a relic of a bygone era. Changelogs made some sense as a way of grouping together what we now call a changeset back in the days of file-oriented version-control systems. Nowadays, set against the actual changeset comments in version-control histories, Changelogs are a pointless and duplicative ritual. I think we should have dispensed with this practice during the CVS-to-bzr transition. As it is, the sooner gone the better. It's not as if retaining arbitrary hoops for new developers to have to jump through is a *good* idea. -- <a href="http://www.catb.org/~esr/">Eric S. Raymond</a> ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 0:22 ` Mathieu Lirzin 2016-03-07 1:19 ` bug#21998: " Eric S. Raymond @ 2016-03-07 16:30 ` Eli Zaretskii 2016-03-07 16:33 ` John Wiegley 2016-03-07 18:07 ` Is it time to drop ChangeLogs? Óscar Fuentes 1 sibling, 2 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-07 16:30 UTC (permalink / raw) To: Mathieu Lirzin; +Cc: emacs-devel > From: Mathieu Lirzin <mthl@gnu.org> > Date: Mon, 07 Mar 2016 01:22:11 +0100 > Cc: 21998@debbugs.gnu.org, Lars Magne Ingebrigtsen <larsi@gnus.org> > > In my short experience, Change Logs has generally been useful both when > reading and composing them. When writing them it helps me structure > large changes in logical commits that are modelled by the Change Log > format. Finally It helps me being precise in my wordings which is not > trivial for non-native english speakers. > > On a more spiritual side, I think they belong to the zen of contributing > to a GNU project. :) I agree completely. Writing a log entry in ChangeLog format is an excellent opportunity for reflecting on the changeset, for summarizing its intent and final shape, and for making sure nothing was left out. Writing those entries teaches one discipline, the ability to describe your changes in just enough detail, and facilitates communications between members of the development team. And in loose teams such as ours, good communications are everything. As told many times in past discussions, ChangeLog files are also an excellent first tool for forensics, easy to search with many available tools. It is invaluable when you don't have access to the repository, and a good asset even if you do: traversing the history of a complex Git repo without missing commits on branches is not a trivial task, it requires using non-default switches and some rarely used commands and options. Even when you do use Git tools, ChangeLog frequently provides additional important evidence. So removing ChangeLog files will be a bad blow to our ability to easily and conveniently research the past, something that is extremely important in a project with such a rich history, where it's all too easy to reintroduce a bug if you don't look hard enough at the history of some code fragment. People are saying it's an extra barrier to contributing. That is true, but so is understanding the Emacs internals, code conventions, organization of the documentation system, its auxiliary files (like CONTRIBUTE, NEWS, DEBUG, PROBLEMS, etc.), the release process, and a few more things. Having to write ChangeLog entries is an insignificant addition to the body of knowledge a contributor needs to master, there's no way around that. Nor should there be: without knowing this stuff, you cannot be a useful contributor anyway, as your contributions will need too much attention from the veterans, who then will be unable to make more significant contributions due to lack of time. We need here contributors who know enough to work on their own with minimal guidance, who can be trusted to do a good job that doesn't need to be reviewed too deeply, whose design can be trusted to be in line with the Emacsy way of doing things. How can one raise to this position without learning a lot of project-specific stuff? You can't. Writing ChangeLog entries is just one small part of that. It's no accident that people who don't want ChangeLog files more often than not don't want to write detailed commit log messages, either, and many times don't know how to write good documentation. Do we want to dispense with these as well? If we drop the ChangeLog files, there's no way we can explain why we ask for commit log messages in ChangeLog format, so the next logical step is to drop that as well, and we will then lose valuable information. We already are firmly on that path. Other prominent GNU projects that maintain ChangeLog files in the repository include GCC, Binutils, GDB, glibc, and Texinfo. XEmacs also has it. Why should Emacs be the first one to plunge into this adventure? Why not let others try that first, so that we could later learn from their mistakes? We have more important things to do than waste our scarce resources on side issues, and too few people to do them. Let's reinstate the ChangeLog files. Maintaining them is a negligible cost; many other projects do that and don't have any trouble. Unlike what some people say, merge conflicts in ChangeLog files are very rare, once you install git-merge-changelog. We have some important infrastructure based on ChangeLog files that will become extinct without them, something that people tend to forget. We tried to live without these files for a year; that experiment failed miserably. It's time to admit that, and fix the mistake we made. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 16:30 ` Eli Zaretskii @ 2016-03-07 16:33 ` John Wiegley 2016-03-07 16:58 ` Eli Zaretskii 2016-03-07 18:07 ` Is it time to drop ChangeLogs? Óscar Fuentes 1 sibling, 1 reply; 454+ messages in thread From: John Wiegley @ 2016-03-07 16:33 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Mathieu Lirzin, emacs-devel >>>>> Eli Zaretskii <eliz@gnu.org> writes: > So removing ChangeLog files will be a bad blow to our ability to easily and > conveniently research the past, something that is extremely important in a > project with such a rich history, where it's all too easy to reintroduce a > bug if you don't look hard enough at the history of some code fragment. Since you are a primary contributor, Eli, your opinion on this does count very much. If you genuinely think that ChangeLogs makes your life easier, then maybe we should just table this discussion for another few years. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 16:33 ` John Wiegley @ 2016-03-07 16:58 ` Eli Zaretskii 2016-03-07 17:16 ` Should we restore manually maintained ChangeLogs (was: Is it time to drop ChangeLogs?) John Wiegley 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-07 16:58 UTC (permalink / raw) To: John Wiegley; +Cc: mthl, emacs-devel > From: John Wiegley <jwiegley@gmail.com> > Cc: Mathieu Lirzin <mthl@gnu.org>, emacs-devel@gnu.org > Date: Mon, 07 Mar 2016 08:33:38 -0800 > > >>>>> Eli Zaretskii <eliz@gnu.org> writes: > > > So removing ChangeLog files will be a bad blow to our ability to easily and > > conveniently research the past, something that is extremely important in a > > project with such a rich history, where it's all too easy to reintroduce a > > bug if you don't look hard enough at the history of some code fragment. > > Since you are a primary contributor, Eli, your opinion on this does count very > much. If you genuinely think that ChangeLogs makes your life easier, then > maybe we should just table this discussion for another few years. Thanks. But the discussion is not the main issue. We should actually go back to having an actively maintained ChangeLog file in the repository, something we stopped doing a year ago. If there's agreement to that, I rest my case. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Should we restore manually maintained ChangeLogs (was: Is it time to drop ChangeLogs?) 2016-03-07 16:58 ` Eli Zaretskii @ 2016-03-07 17:16 ` John Wiegley 2016-03-07 17:42 ` Should we restore manually maintained ChangeLogs Karl Fogel ` (2 more replies) 0 siblings, 3 replies; 454+ messages in thread From: John Wiegley @ 2016-03-07 17:16 UTC (permalink / raw) To: Eli Zaretskii; +Cc: mthl, emacs-devel >>>>> Eli Zaretskii <eliz@gnu.org> writes: > But the discussion is not the main issue. We should actually go back to > having an actively maintained ChangeLog file in the repository, something we > stopped doing a year ago. If there's agreement to that, I rest my case. OK, let's shift this discussion in that direction again. Given that there are active developers who appreciate and use the ChangeLog format, I don't think we are going to remove them just yet. Instead, the question has been raised as to whether we should go back to maintaining ChangeLog files manually, or continue to generate them from version control as we do now. My vote is to continue generating from version control, and Eli would like to go back to direct maintenance. What do others think? -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-07 17:16 ` Should we restore manually maintained ChangeLogs (was: Is it time to drop ChangeLogs?) John Wiegley @ 2016-03-07 17:42 ` Karl Fogel 2016-03-07 17:50 ` Should we restore manually maintained ChangeLogs (was: Is it time to drop ChangeLogs?) Eli Zaretskii 2016-03-07 18:05 ` Andy Moreton 2 siblings, 0 replies; 454+ messages in thread From: Karl Fogel @ 2016-03-07 17:42 UTC (permalink / raw) To: emacs-devel John Wiegley <jwiegley@gmail.com> writes: >> But the discussion is not the main issue. We should actually go back to >> having an actively maintained ChangeLog file in the repository, something we >> stopped doing a year ago. If there's agreement to that, I rest my case. > >OK, let's shift this discussion in that direction again. > >Given that there are active developers who appreciate and use the ChangeLog >format, I don't think we are going to remove them just yet. Instead, the >question has been raised as to whether we should go back to maintaining >ChangeLog files manually, or continue to generate them from version control as >we do now. > >My vote is to continue generating from version control, and Eli would like to >go back to direct maintenance. What do others think? It's no great burden to maintain them manually, once you get used to it; if the developers who are doing the most work would prefer it, then +1 to switching back to the old way of manually maintaining ChangeLogs. I'll admit, I'm not clear on the advantage myself :-). The other free software projects I work in use the version control system's logs, without separate ChangeLog files, and it's fine. Most of those projects use the same commit message conventions (see http://chris.beams.io/posts/git-commit/), and I can't remember any log search I ever wanted to do that I could have done with ChangeLogs but was unable to do with the vc-system logs -- it's the same information, after all, and the Emacs project can enforce the ChangeLog conventions on git commit logs. I guess one advantage of manually-maintained ChangeLogs is that the entries can still be fixed or improved after being committed, which isn't in practice possible with git commit logs, once the commits have been pushed upstream. In any case, I don't mean any of the above as a sour-grapes statement. I really do believe that if the people doing the most work would prefer manually-maintained ChangeLogs, we should just do that. It's not that hard for developers. Heck, all I used to do is take my commit message and put it in the ChangeLog too; that's pretty simple. -Karl P.S. For those who use 'git log' rather than ChangeLog when exploring history, the helper `kf-git-show-change' in http://svn.red-bean.com/repos/kfogel/trunk/.emacs may be useful. With point anywhere inside a commit message from 'git log' output, run that command to display the associated change. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs (was: Is it time to drop ChangeLogs?) 2016-03-07 17:16 ` Should we restore manually maintained ChangeLogs (was: Is it time to drop ChangeLogs?) John Wiegley 2016-03-07 17:42 ` Should we restore manually maintained ChangeLogs Karl Fogel @ 2016-03-07 17:50 ` Eli Zaretskii 2016-03-07 19:02 ` Should we restore manually maintained ChangeLogs Paul Eggert 2016-03-07 18:05 ` Andy Moreton 2 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-07 17:50 UTC (permalink / raw) To: John Wiegley; +Cc: mthl, emacs-devel > From: John Wiegley <jwiegley@gmail.com> > Date: Mon, 07 Mar 2016 09:16:27 -0800 > Cc: mthl@gnu.org, emacs-devel@gnu.org > > Given that there are active developers who appreciate and use the ChangeLog > format, I don't think we are going to remove them just yet. Instead, the > question has been raised as to whether we should go back to maintaining > ChangeLog files manually, or continue to generate them from version control as > we do now. > > My vote is to continue generating from version control, and Eli would like to > go back to direct maintenance. What do others think? My vote is to go back to having ChangeLog files (could be a single file, though) in the repository. My reasons: . The current system is clearly not working well: the mistakes in the log messages are not corrected, and there's an unsolved problem of merging from the release branch to master. . Other projects maintain ChangeLog files in the repository: GCC, Binutils, GDB, glibc, Texinfo, XEmacs, to name just those that I know about. . We have maintained ChangeLog files in the repo for years, and I don't remember this ever being a problem, provided that a proper merge tool (git-merge-changelog for Git) is installed. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-07 17:50 ` Should we restore manually maintained ChangeLogs (was: Is it time to drop ChangeLogs?) Eli Zaretskii @ 2016-03-07 19:02 ` Paul Eggert 2016-03-07 21:06 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-03-07 19:02 UTC (permalink / raw) To: Eli Zaretskii, John Wiegley; +Cc: mthl, emacs-devel Let's not go back. Maintaining ChangeLog files by hand with each commit makes it harder to merge changes due to the inevitable collisions with ChangeLog files. Although other projects that continue to use this older style (e.g., glibc) work around the problem by requiring contributors to deal with the hassles, this is one more barrier to contributions and there are better alternatives. On 03/07/2016 09:50 AM, Eli Zaretskii wrote: > mistakes in the log messages are not corrected This is a problem regardless of whether ChangeLog files are updated by each commit. Under either approach, contributors often make mistakes in their ChangeLog entries, and don't bother to fix them because (let's face it) ChangeLog entries are low priority. > there's an unsolved problem of merging from the release branch to master. We can solve that problem. (It hasn't been high priority to fix.) Here's one simple way to fix it: run the automated ChangeLog generator only on the master branch, as was originally intended, and use manual updates to ChangeLog files in other branches. (The hassle of manually maintaining ChangeLog files on emacs-25 will serve to discourage further changes to the emacs-25 branch, which is arguably a good thing. :-) We can come up with a better approach later. > Other projects maintain ChangeLog files in the repository: GCC, > Binutils, GDB, glibc, Texinfo, XEmacs, to name just those that I know > about. These are all longstanding projects that haven't changed their procedures for ages. New projects don't do this, by and large. (XEmacs has gone quiescent, as I understand it, so it's not a good example here.) > We have maintained ChangeLog files in the repo for years, and I don't > remember this ever being a problem, provided that a proper merge tool > (git-merge-changelog for Git) is installed. I often ran into problems. Yes, git-merge-changelog should reduce the number of merge conflicts, but it doesn't eliminate them, and things can be even more confusing when there are conflicts anyway. Also, requiring git-merge-changelog means that many contributors would have to worry about installing and configuring git-merge-changelog, which would be more of a hassle for recruiting contributors. In practice under the old approach many contributors didn't bother, dealt with the merge conflicts by hand, and all too often messed up. I should mention that git-merge-changelog effectively has no maintainer now; if we run into a problem with it, we'll have to maintain it ourselves. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-07 19:02 ` Should we restore manually maintained ChangeLogs Paul Eggert @ 2016-03-07 21:06 ` Eli Zaretskii 2016-03-07 21:42 ` Dmitry Gutov 2016-03-07 23:31 ` Paul Eggert 0 siblings, 2 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-07 21:06 UTC (permalink / raw) To: Paul Eggert; +Cc: mthl, johnw, emacs-devel > Cc: mthl@gnu.org, emacs-devel@gnu.org > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Mon, 7 Mar 2016 11:02:02 -0800 > > Maintaining ChangeLog files by hand with each commit makes it harder > to merge changes due to the inevitable collisions with ChangeLog > files. Incorrect! And the current situation creates _more_ collisions, not less! > Although other projects that continue to use this older style (e.g., > glibc) work around the problem by requiring contributors to deal > with the hassles, this is one more barrier to contributions and > there are better alternatives. We don't have to be better than the other prominent GNU projects. > > mistakes in the log messages are not corrected > > This is a problem regardless of whether ChangeLog files are updated by > each commit. Under either approach, contributors often make mistakes in > their ChangeLog entries, and don't bother to fix them because (let's > face it) ChangeLog entries are low priority. But ChangeLog mistakes can be easily fixed. > > there's an unsolved problem of merging from the release branch to master. > > We can solve that problem. (It hasn't been high priority to fix.) We don't know how, and we don't have anyone who is motivated enough to do that. And even if and when we do have some solution, it is likely to be inconvenient and unreliable. > Here's one simple way to fix it: run the automated ChangeLog generator > only on the master branch, as was originally intended, and use manual > updates to ChangeLog files in other branches. (The hassle of manually > maintaining ChangeLog files on emacs-25 will serve to discourage further > changes to the emacs-25 branch, which is arguably a good thing. :-) We > can come up with a better approach later. Let other projects invent those schemes and test-drive them. Enough with these experiments! They draw the last drops of energy from us, and they avert the few last veteran contributors we have left. > > Other projects maintain ChangeLog files in the repository: GCC, > > Binutils, GDB, glibc, Texinfo, XEmacs, to name just those that I know > > about. > > These are all longstanding projects that haven't changed their > procedures for ages. That's not a bad thing in itself. The point is, these procedures work, and all those projects are alive and kicking, and actually make more frequent releases than we do. > > We have maintained ChangeLog files in the repo for years, and I don't > > remember this ever being a problem, provided that a proper merge tool > > (git-merge-changelog for Git) is installed. > > I often ran into problems. Yes, git-merge-changelog should reduce the > number of merge conflicts, but it doesn't eliminate them Oh, yes, it does. > requiring git-merge-changelog means that many contributors would > have to worry about installing and configuring git-merge-changelog, > which would be more of a hassle for recruiting contributors. It's a 5-sec configuration, let's not make a mountain out of a molehill. > I should mention that git-merge-changelog effectively has no maintainer > now; if we run into a problem with it, we'll have to maintain it ourselves. There's no need for a maintainer, as there are no problems. I'm using that program all the time. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-07 21:06 ` Eli Zaretskii @ 2016-03-07 21:42 ` Dmitry Gutov 2016-03-08 15:45 ` Eli Zaretskii 2016-03-07 23:31 ` Paul Eggert 1 sibling, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-03-07 21:42 UTC (permalink / raw) To: Eli Zaretskii, Paul Eggert; +Cc: mthl, johnw, emacs-devel On 03/07/2016 11:06 PM, Eli Zaretskii wrote: >> Maintaining ChangeLog files by hand with each commit makes it harder >> to merge changes due to the inevitable collisions with ChangeLog >> files. > > Incorrect! And the current situation creates _more_ collisions, not > less! Only when merging between branches. Other than that, only a select group of people needs to bother: those who make mistakes, and those who feel a general need to clean up. As a relatively careful committer, I've only had to correct the entries a few times, and I've been enjoying the lack of collisions quite a bit. >>> mistakes in the log messages are not corrected >> >> This is a problem regardless of whether ChangeLog files are updated by >> each commit. Under either approach, contributors often make mistakes in >> their ChangeLog entries, and don't bother to fix them because (let's >> face it) ChangeLog entries are low priority. > > But ChangeLog mistakes can be easily fixed. In the current approach, as well. >> We can solve that problem. (It hasn't been high priority to fix.) > > We don't know how, and we don't have anyone who is motivated enough to > do that. And even if and when we do have some solution, it is likely > to be inconvenient and unreliable. I think we should wait and see until the work really transitions back to master. The motivation must rise. > Let other projects invent those schemes and test-drive them. Enough > with these experiments! They draw the last drops of energy from us, > and they avert the few last veteran contributors we have left. Has the current experiment really sucked too much energy from anyone, aside from the implementors? Yes, there is a problem on master, but we're still mostly expected to use, and polish, emacs-25. > That's not a bad thing in itself. The point is, these procedures > work, and all those projects are alive and kicking, and actually make > more frequent releases than we do. For all we know, they might be thriving despite this practice. >>> We have maintained ChangeLog files in the repo for years, and I don't >>> remember this ever being a problem, provided that a proper merge tool >>> (git-merge-changelog for Git) is installed. >> >> I often ran into problems. Yes, git-merge-changelog should reduce the >> number of merge conflicts, but it doesn't eliminate them > > Oh, yes, it does. Not in my experience either. I've still had collisions, and even when git-merge-changelog resolved them, it often put my entry in the middle of the file, whereas I usually needed it to be at the top. Leading to extra manual labor. >> requiring git-merge-changelog means that many contributors would >> have to worry about installing and configuring git-merge-changelog, >> which would be more of a hassle for recruiting contributors. > > It's a 5-sec configuration, let's not make a mountain out of a > molehill. It was longer for me. But either way, it's more hassle for a random contributor than the current system. If it can be fixed, Someone should. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-07 21:42 ` Dmitry Gutov @ 2016-03-08 15:45 ` Eli Zaretskii 2016-03-08 16:14 ` Stefan Monnier ` (2 more replies) 0 siblings, 3 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 15:45 UTC (permalink / raw) To: Dmitry Gutov; +Cc: mthl, eggert, johnw, emacs-devel > Cc: mthl@gnu.org, johnw@gnu.org, emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Mon, 7 Mar 2016 23:42:33 +0200 > > Maintaining ChangeLog files by hand with each commit makes it harder > to merge changes due to the inevitable collisions with ChangeLog > files. > > Incorrect! And the current situation creates _more_ collisions, not > less! > > Only when merging between branches. It doesn't work very well even on a single branch. With two branches, it completely breaks down. We do want to work on multiple branches, don't we? We discussed how to make more frequent releases, and perhaps have 3 branches for even more flexible development and release schedule. All of that would be impossible because of this tiny but annoying PITA. Do we really want to continue wasting energy on fixing something that wasn't such a big problem to begin with? > Other than that, only a select group of people needs to bother: those who make mistakes, and those who feel a general need to clean up. See, that's the crux of the issue: do we or don't we care about the need to clean up our ChangeLogs? If we don't, then why bother maintaining them? You (and some others) say the format and the content in the log messages are important, and I agree. But if we do care about them, how can we NOT clean them up? Having them in their current state means they cannot be trusted, which is worse than not having them at all. > As a relatively careful committer, I've only had to correct the entries a few times, and I've been enjoying the lack of collisions quite a bit. Yes, a few of us don't need any corrections. But enough of us do, and that's where the problem lies. It is that problem that we need to fix. Leaving it unfixed makes your accurate work unreliable as well. > But ChangeLog mistakes can be easily fixed. > > In the current approach, as well. Only on a single branch, and even there this is not done enough. We all relied on Glenn to do that behind the scenes. Now Glenn gave up in despair, so things will degrade from now on. > We don't know how, and we don't have anyone who is motivated enough to > do that. And even if and when we do have some solution, it is likely > to be inconvenient and unreliable. > > I think we should wait and see until the work really transitions back to master. The motivation must rise. The release branch will remain active for quite some time: we have just started a new major version. And if we want more frequent releases, we should strive to have an active release branch at all times. So I don't think we can wait; waiting will not solve anything, it will just make the current problems bigger and harder to solve. > Let other projects invent those schemes and test-drive them. Enough > with these experiments! They draw the last drops of energy from us, > and they avert the few last veteran contributors we have left. > > Has the current experiment really sucked too much energy from anyone, aside from the implementors? Why do you think Glenn gave up? > That's not a bad thing in itself. The point is, these procedures > work, and all those projects are alive and kicking, and actually make > more frequent releases than we do. > > For all we know, they might be thriving despite this practice. Nothing wrong with that. > I often ran into problems. Yes, git-merge-changelog should reduce the > number of merge conflicts, but it doesn't eliminate them > > Oh, yes, it does. > > Not in my experience either. I've still had collisions, and even when git-merge-changelog resolved them, it often put my entry in the middle of the file, whereas I usually needed it to be at the top. Leading to extra manual labor. That extra manual labor is very small, and it's still a rare case to have that. A small price to pay for a clean and reliable solution. > requiring git-merge-changelog means that many contributors would > have to worry about installing and configuring git-merge-changelog, > which would be more of a hassle for recruiting contributors. > > It's a 5-sec configuration, let's not make a mountain out of a > molehill. > > It was longer for me. But either way, it's more hassle for a random contributor than the current system. The current system is much more hassle for non-random contributors, so much so that we risk losing them, something we cannot afford. > If it can be fixed, Someone should. Let that Someone step forward, then, and speak up. We have been waiting for that for the past year, so I'm not holding my breath now. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-08 15:45 ` Eli Zaretskii @ 2016-03-08 16:14 ` Stefan Monnier 2016-03-08 16:46 ` Eli Zaretskii 2016-03-08 16:34 ` Paul Eggert 2016-03-08 17:44 ` Dmitry Gutov 2 siblings, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 16:14 UTC (permalink / raw) To: emacs-devel > You (and some others) say the format and the content in the log > messages are important, and I agree. But if we do care about them, > how can we NOT clean them up? Having them in their current state > means they cannot be trusted, which is worse than not having them at > all. For people like me who solely rely on the VCS commit messages when doing forensics (because I find it tremendously more powerful, e.g. via vc-region-history or vc-annotate), it's already the case that mistakes can't be corrected, no matter what we do with ChangeLog files. So for my own personal self, the issue is not "should we keep ChangeLog" but "should we try and fix mistakes in commit messages": - either we do care about fixing the commit messages. In this case either we need to switch to a system that lets us review changes before they get to master, or we figure out a way to update commit messages after the fact (this is clearly a missing feature in Git and there's no reason it can't be implemented). - or we don't care enough, so we keep doing as we've been doing so far, i.e. relying on "best effort and education" to try and keep the mistakes to a tolerable level. So far we've been following a halfway path where we tolerate mistakes in the commit messages but not in the ChangeLog file, probably because there's a fairly strong correlation between those who care about mistakes in those messages and those who cares about the ChangeLog files. But really, fixing the ChangeLog while leaving the VCS commit messages unfixed is just not a good solution (to me, it's kind of like installing security fixes in the tarball rather than in the VCS repository). For those reasons, I think ChangeLog files should be 100% auto-generated, and never committed into the VCS. > Yes, a few of us don't need any corrections. But enough of us do, and > that's where the problem lies. It is that problem that we need to > fix. Leaving it unfixed makes your accurate work unreliable as well. Right. But if we need/want to fix it, we should do it *at the source* (i.e. in the VCS metadata) rather than only in some of the derived data (the ChangeLog files). Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-08 16:14 ` Stefan Monnier @ 2016-03-08 16:46 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 16:46 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel > From: Stefan Monnier <monnier@iro.umontreal.ca> > Date: Tue, 08 Mar 2016 11:14:14 -0500 > > > Yes, a few of us don't need any corrections. But enough of us do, and > > that's where the problem lies. It is that problem that we need to > > fix. Leaving it unfixed makes your accurate work unreliable as well. > > Right. But if we need/want to fix it, we should do it *at the source* > (i.e. in the VCS metadata) rather than only in some of the derived data > (the ChangeLog files). If possible, that's the preferred way, sure. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-08 15:45 ` Eli Zaretskii 2016-03-08 16:14 ` Stefan Monnier @ 2016-03-08 16:34 ` Paul Eggert 2016-03-08 17:05 ` Eli Zaretskii 2016-03-08 17:44 ` Dmitry Gutov 2 siblings, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-03-08 16:34 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii wrote: > You (and some others) say the format and the content in the log > messages are important, and I agree. But if we do care about them, > how can we NOT clean them up? We can care about them, but agree to fix them up only until they become part of history. Once they're history we don't worry about trying to change history; they're just old mistakes that are part of the log but are not otherwise part of the current Emacs. If managed well, this can help motivate contributors to write good commit messages the first time. This approach is not perfect, but it works reasonably well in other projects and it is way easier to explain and to maintain than what we're doing now, or what we did a year ago. With version control systems our natural perfectionist inclinations can cause us to want to rewrite history to make ourselves look more error-free than we actually were. In extreme cases (e.g., massive copyright infringement committed by a rogue developer) we would indeed need to rewrite history, despite all the hassles that would ensue with Git (hassle that would not be limited to commit-message contents!). However, in ordinary use we should resist the temptation to change history; at best it's makework. So, for example, we should strive to get the "tiny change" stuff right the first time in commit messages; but if we make mistakes in that area it OK -- the sky will not fall down, and software archaeologists of the future will still be able to figure things out well enough. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-08 16:34 ` Paul Eggert @ 2016-03-08 17:05 ` Eli Zaretskii 2016-03-09 1:08 ` Paul Eggert 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 17:05 UTC (permalink / raw) To: Paul Eggert; +Cc: emacs-devel > Cc: emacs-devel@gnu.org > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Tue, 8 Mar 2016 08:34:04 -0800 > > Eli Zaretskii wrote: > > You (and some others) say the format and the content in the log > > messages are important, and I agree. But if we do care about them, > > how can we NOT clean them up? > > We can care about them, but agree to fix them up only until they become part of > history. Once they're history we don't worry about trying to change history; > they're just old mistakes that are part of the log but are not otherwise part of > the current Emacs. If managed well, this can help motivate contributors to write > good commit messages the first time. This approach is not perfect, but it works > reasonably well in other projects and it is way easier to explain and to > maintain than what we're doing now, or what we did a year ago. AFAIK, those other projects get commits from veteran GNU developers such as yourself, which have the ChangeLog format and good log messages burnt into their finger memories. Emacs is different. We have to educate the newcomers to become such veterans. And education simply doesn't work without the need to fix your beginner's mistakes. By giving up on the need to fix them, we inadvertently send a very loud and clear message to the newcomers saying that good, correct, and accurate log messages are not important. As result, they will never acquire the skills that you and other veterans here have since long ago. When I was a newcomer, I had the privilege of getting comments and requests to fix my log messages from Richard and others. Had they not insist on making my errors clear to me, had they not asked for me to fix them, I wouldn't be able to write the kind of log messages and other short descriptions I can do today. So let's stop thinking about ourselves -- we don't need these fixes anyway. Let's think about the new generation, the ones we must educate as long as we are around. They _need_ us to point them to their flops, and they need to learn to fix them. This cannot be learned in theory, only by doing. It is an important part of their apprenticeship. This isn't about perfectionism, this is about teaching the newcomers to be better Emacs developers. > So, for example, we should strive to get the "tiny change" stuff right the first > time in commit messages; but if we make mistakes in that area it OK -- the sky > will not fall down, and software archaeologists of the future will still be able > to figure things out well enough. The skies will not fall down if Emacs ceases to exist, either, or becomes a much less clean and orderly project than it is now. But we'd like to avoid that, one hopes. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-08 17:05 ` Eli Zaretskii @ 2016-03-09 1:08 ` Paul Eggert 2016-03-09 3:47 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-03-09 1:08 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On 03/08/2016 09:05 AM, Eli Zaretskii wrote: > By giving up on the need to fix them, we > inadvertently send a very loud and clear message to the newcomers > saying that good, correct, and accurate log messages are not > important. We also send that message by giving up on the need to write good commit messages in the first place. If we were to tell newcomers something like "Thanks, that was a nice patch, and could you please add a commit message following the guidelines so that we can install it for you?" then they will figure things out. But if we instead keep installing such patches as-is and maybe fixing the commit messages ourselves later, we are in effect telling contributors not to bother writing good commit messages. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 1:08 ` Paul Eggert @ 2016-03-09 3:47 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 3:47 UTC (permalink / raw) To: Paul Eggert; +Cc: emacs-devel > Cc: emacs-devel@gnu.org > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Tue, 8 Mar 2016 17:08:39 -0800 > > On 03/08/2016 09:05 AM, Eli Zaretskii wrote: > > By giving up on the need to fix them, we > > inadvertently send a very loud and clear message to the newcomers > > saying that good, correct, and accurate log messages are not > > important. > > We also send that message by giving up on the need to write good commit > messages in the first place. If we were to tell newcomers something like > "Thanks, that was a nice patch, and could you please add a commit > message following the guidelines so that we can install it for you?" > then they will figure things out. But if we instead keep installing such > patches as-is and maybe fixing the commit messages ourselves later, we > are in effect telling contributors not to bother writing good commit > messages. The problems are with those who have commit rights. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-08 15:45 ` Eli Zaretskii 2016-03-08 16:14 ` Stefan Monnier 2016-03-08 16:34 ` Paul Eggert @ 2016-03-08 17:44 ` Dmitry Gutov 2016-03-08 18:02 ` Eli Zaretskii 2 siblings, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-03-08 17:44 UTC (permalink / raw) To: Eli Zaretskii; +Cc: mthl, eggert, johnw, emacs-devel On 03/08/2016 05:45 PM, Eli Zaretskii wrote: > You (and some others) say the format and the content in the log > messages are important, and I agree. But if we do care about them, > how can we NOT clean them up? Having them in their current state > means they cannot be trusted, which is worse than not having them at > all. That's true. But my motivation for using ChangeLogs stems from having people describe their changes in a strict format. If someone writes a wrong name or omits the "copyright-exempt" header, I could live with that. We should find out how much it is of a problem, though, legally speaking. >> Has the current experiment really sucked too much energy from anyone, aside from the implementors? > > Why do you think Glenn gave up? My bad. All right, Glenn gave up fixing errors. Isn't that because people made too much mistakes, and didn't bother to fix them? Even if we transition to the previous system, it will need the same people to fix their errors. >> Not in my experience either. I've still had collisions, and even when git-merge-changelog resolved them, it often put my entry in the middle of the file, whereas I usually needed it to be at the top. Leading to extra manual labor. > > That extra manual labor is very small, and it's still a rare case to > have that. A small price to pay for a clean and reliable solution. It's a bit hard to remember now, but I think I had to move my entry to the top more often than not. So, not a rare case. >> It was longer for me. But either way, it's more hassle for a random contributor than the current system. > > The current system is much more hassle for non-random contributors, so > much so that we risk losing them, something we cannot afford. Will someone decide to stop contributing to Emacs because our Change Log entries contain mistakes? That doesn't sound very plausible. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-08 17:44 ` Dmitry Gutov @ 2016-03-08 18:02 ` Eli Zaretskii 2016-03-08 18:11 ` Dmitry Gutov 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 18:02 UTC (permalink / raw) To: Dmitry Gutov; +Cc: mthl, emacs-devel, johnw, eggert > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Tue, 8 Mar 2016 19:44:47 +0200 > Cc: mthl@gnu.org, eggert@cs.ucla.edu, johnw@gnu.org, emacs-devel@gnu.org > > On 03/08/2016 05:45 PM, Eli Zaretskii wrote: > > > You (and some others) say the format and the content in the log > > messages are important, and I agree. But if we do care about them, > > how can we NOT clean them up? Having them in their current state > > means they cannot be trusted, which is worse than not having them at > > all. > > That's true. But my motivation for using ChangeLogs stems from having > people describe their changes in a strict format. If someone writes a > wrong name or omits the "copyright-exempt" header, I could live with that. > > We should find out how much it is of a problem, though, legally speaking. Not just legal aspect are at stake. I tried to explain that in one of my previous messages. > >> Has the current experiment really sucked too much energy from anyone, aside from the implementors? > > > > Why do you think Glenn gave up? > > My bad. All right, Glenn gave up fixing errors. Isn't that because > people made too much mistakes, and didn't bother to fix them? > > Even if we transition to the previous system, it will need the same > people to fix their errors. It is easy to ask someone to fix a mistake in a file and push the change. With the current system, fixing mistakes requires a much more complex procedure, and also screws up merges to master. > > The current system is much more hassle for non-random contributors, so > > much so that we risk losing them, something we cannot afford. > > Will someone decide to stop contributing to Emacs because our Change Log > entries contain mistakes? That doesn't sound very plausible. When people like Glenn give up in despair, I think the danger is real. IME, it's hard to be part of a project that ignores repeated requests to fix something you believe must be fixed. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-08 18:02 ` Eli Zaretskii @ 2016-03-08 18:11 ` Dmitry Gutov 0 siblings, 0 replies; 454+ messages in thread From: Dmitry Gutov @ 2016-03-08 18:11 UTC (permalink / raw) To: Eli Zaretskii; +Cc: mthl, emacs-devel, johnw, eggert On 03/08/2016 08:02 PM, Eli Zaretskii wrote: > It is easy to ask someone to fix a mistake in a file and push the > change. With the current system, fixing mistakes requires a much more > complex procedure, and also screws up merges to master. And who's going to be that person who carefully reviews every ChangeLog entry? Fixing them yourself right away might actually be easier than messaging the commit authors every time, for each mistake. Even if that involves a "more complex" upfront procedure for each correction session. > IME, it's hard to be part of a project that ignores repeated requests > to fix something you believe must be fixed. Many of us some have such things (ignored, or closed as wontfix, bug reports, for instance). ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-07 21:06 ` Eli Zaretskii 2016-03-07 21:42 ` Dmitry Gutov @ 2016-03-07 23:31 ` Paul Eggert 2016-03-08 14:03 ` Mathieu Lirzin 2016-03-08 15:50 ` Eli Zaretskii 1 sibling, 2 replies; 454+ messages in thread From: Paul Eggert @ 2016-03-07 23:31 UTC (permalink / raw) To: Eli Zaretskii; +Cc: mthl, johnw, emacs-devel On 03/07/2016 01:06 PM, Eli Zaretskii wrote: >> Maintaining ChangeLog files by hand with each commit makes it harder >> to merge changes due to the inevitable collisions with ChangeLog >> files. > Incorrect! And the current situation creates _more_ collisions, not > less! My own experience is otherwise. For the kinds of development I do, I rarely see ChangeLog screwups now, whereas I used to see them routinely. I far prefer the current approach. Of course our approach can be improved (in particular merging from emacs-25 to master doesn't work well now), but let's not throw out the baby with the bathwater. > We don't have to be better than the other prominent GNU projects. I'd be happy if we were merely as good as the other prominent GNU projects that generate ChangeLog entries automatically. As things stand, due to our attempt to cater to all sides of this disagreement, we have an approach that satisfies nobody. > ChangeLog mistakes can be easily fixed. That's true under both the old and the new regimes. > Let other projects invent those schemes and test-drive them. Enough > with these experiments! I'd rather just do what coreutils, grep, tar, etc. use. It's just as simple for ordinary committers and it would not involve duplication in patches or experimentation with maintenance procedures. I could fairly easily change the master branch to do that. Even simpler would be to do what Guile does: it dispenses with ChangeLogs entirely. With Guile if you want something like a ChangeLog you run "git log". If neither of the above two approaches suffice, we can always fall back on my previous email's proposal. It's not that experiemental, as it says to use the new produre on master and the old procedure on emacs-25. The new procedure works well enough within a single master branch. Of all the above, though, Guile's approach is the simplest and is probably the best for us overall. > these procedures work, and all those projects are alive and kicking, > and actually make more frequent releases than we do. XEmacs is not really alive and kicking. Projects like GCC and glibc have more resources than we do, and can afford to insist on more-expert contributions that involve harder-to-generate patch formats. We do not have that luxury. > >> I often ran into problems. Yes, git-merge-changelog should reduce the >> number of merge conflicts, but it doesn't eliminate them > Oh, yes, it does. Not in my experience, or in Dmitry's. It's a fine program, but it sometimes makes mistakes and they can be a pain to fix. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-07 23:31 ` Paul Eggert @ 2016-03-08 14:03 ` Mathieu Lirzin 2016-03-08 15:15 ` Stefan Monnier 2016-03-08 16:15 ` Eli Zaretskii 2016-03-08 15:50 ` Eli Zaretskii 1 sibling, 2 replies; 454+ messages in thread From: Mathieu Lirzin @ 2016-03-08 14:03 UTC (permalink / raw) To: Paul Eggert; +Cc: Eli Zaretskii, johnw, emacs-devel Paul Eggert <eggert@cs.ucla.edu> writes: > On 03/07/2016 01:06 PM, Eli Zaretskii wrote: > >> Let other projects invent those schemes and test-drive them. Enough >> with these experiments! > > I'd rather just do what coreutils, grep, tar, etc. use. It's just as > simple for ordinary committers and it would not involve duplication in > patches or experimentation with maintenance procedures. I could fairly > easily change the master branch to do that. I like what is done by those projects. However they don't have a merge workflow. I agree with you that for Emacs release branches, maintaining ChangeLog manually seems reasonable. However how will it work for the feature branches which are meant to be merge sooner or later? > Even simpler would be to do what Guile does: it dispenses with > ChangeLogs entirely. With Guile if you want something like a ChangeLog > you run "git log". This approach seems wrong to me. I think it is still desirable to be able to partially analyze history directly from a tarball (even if it is not optimal) without requiring a web browser, or cloning a full git repository. Thanks, -- Mathieu Lirzin ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-08 14:03 ` Mathieu Lirzin @ 2016-03-08 15:15 ` Stefan Monnier 2016-03-08 16:19 ` Eli Zaretskii 2016-03-08 16:15 ` Eli Zaretskii 1 sibling, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 15:15 UTC (permalink / raw) To: emacs-devel >> I'd rather just do what coreutils, grep, tar, etc. use. It's just as > I like what is done by those projects. However they don't have a merge > workflow. I agree with you that for Emacs release branches, maintaining > ChangeLog manually seems reasonable. However how will it work for the > feature branches which are meant to be merge sooner or later? The ChangeLog would only be generated into tarballs (i.e. only when leaving the realm of the VCS), so they just never appear on any branch. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-08 15:15 ` Stefan Monnier @ 2016-03-08 16:19 ` Eli Zaretskii 2016-03-08 16:31 ` Stefan Monnier 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 16:19 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel > From: Stefan Monnier <monnier@iro.umontreal.ca> > Date: Tue, 08 Mar 2016 10:15:35 -0500 > > >> I'd rather just do what coreutils, grep, tar, etc. use. It's just as > > I like what is done by those projects. However they don't have a merge > > workflow. I agree with you that for Emacs release branches, maintaining > > ChangeLog manually seems reasonable. However how will it work for the > > feature branches which are meant to be merge sooner or later? > > The ChangeLog would only be generated into tarballs (i.e. only when > leaving the realm of the VCS), so they just never appear on any branch. Which means they will either have all the uncorrected mistakes (like missing "tiny change" etc.), or you expect from Someone to do all the fixes as part of tarring a release. I think both alternatives are unacceptable. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-08 16:19 ` Eli Zaretskii @ 2016-03-08 16:31 ` Stefan Monnier 0 siblings, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 16:31 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel > Which means they will either have all the uncorrected mistakes (like > missing "tiny change" etc.), or you expect from Someone to do all the > fixes as part of tarring a release. I think both alternatives are > unacceptable. I've been living with those uncorrected mistakes ever since bzr became fast enough that I started to rely on "bzr log" rather than on ChangeLog files. I'd prefer if we could fix those mistakes, indeed, but fixing them in the ChangeLog is (for me) a complete waste of time. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-08 14:03 ` Mathieu Lirzin 2016-03-08 15:15 ` Stefan Monnier @ 2016-03-08 16:15 ` Eli Zaretskii 1 sibling, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 16:15 UTC (permalink / raw) To: Mathieu Lirzin; +Cc: eggert, johnw, emacs-devel > From: Mathieu Lirzin <mthl@gnu.org> > Cc: Eli Zaretskii <eliz@gnu.org>, johnw@gnu.org, emacs-devel@gnu.org > Date: Tue, 08 Mar 2016 15:03:28 +0100 > > > Even simpler would be to do what Guile does: it dispenses with > > ChangeLogs entirely. With Guile if you want something like a ChangeLog > > you run "git log". > > This approach seems wrong to me. I think it is still desirable to be > able to partially analyze history directly from a tarball (even if it is > not optimal) without requiring a web browser, or cloning a full git > repository. Yes, I very much agree. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-07 23:31 ` Paul Eggert 2016-03-08 14:03 ` Mathieu Lirzin @ 2016-03-08 15:50 ` Eli Zaretskii 2016-03-09 7:58 ` Paul Eggert 1 sibling, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 15:50 UTC (permalink / raw) To: Paul Eggert; +Cc: mthl, johnw, emacs-devel > Cc: johnw@gnu.org, mthl@gnu.org, emacs-devel@gnu.org > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Mon, 7 Mar 2016 15:31:54 -0800 > > On 03/07/2016 01:06 PM, Eli Zaretskii wrote: > > Maintaining ChangeLog files by hand with each commit makes it harder > to merge changes due to the inevitable collisions with ChangeLog > files. > > Incorrect! And the current situation creates _more_ collisions, not > less! > > My own experience is otherwise. For the kinds of development I do, I rarely see ChangeLog screwups now, whereas I used to see them routinely. With or without git-merge-changelog? If you have git-merge-changelog installed, what kind of screwups did you see with ChangeLogs? (I didn't see even one, in all the years I use Git.) > I far prefer the current approach. Of course our approach can be improved (in particular merging from emacs-25 to master doesn't work well now), but let's not throw out the baby with the bathwater. The current approach completely breaks down when more than one branch is active. So there's no baby in that bathwater. > We don't have to be better than the other prominent GNU projects. > > I'd be happy if we were merely as good as the other prominent GNU projects that generate ChangeLog entries automatically. As things stand, due to our attempt to cater to all sides of this disagreement, we have an approach that satisfies nobody. Not sure what you mean here. What alternatives that don't "cater to all sides" would you suggest? The only one I see is to stop producing ChangeLog files for the releases. > ChangeLog mistakes can be easily fixed. > > That's true under both the old and the new regimes. No, it isn't. Definitely not with two branches. > Let other projects invent those schemes and test-drive them. Enough with these experiments! > > I'd rather just do what coreutils, grep, tar, etc. use. Don't know what hides behind "etc", but the rest are much smaller projects, which are all in maintenance mode, and have a very small number of active committers (of which you personally are a significant fraction ;-). They also don't use branches, at least not as much as we do. So I don't see how the experience of these projects is more relevant to us than that of GCC, GDB, Binutils, and glibc. > I could fairly easily change the master branch to do that. Please describe the details of your proposal. Also, please tell what do you suggest doing on the release branches. > Even simpler would be to do what Guile does: it dispenses with ChangeLogs entirely. With Guile if you want something like a ChangeLog you run "git log". As I said, tossing ChangeLog files entirely would indeed solve the problems, but it's a sure path to further deterioration in the quality of log messages. It is easy to keep the quality in a project that has a small number of committers who are veteran GNU developers (Guile has 1 frequent committer on master, and 3 on stable). That's not our case. > If neither of the above two approaches suffice, we can always fall back on my previous email's proposal. It's not that experiemental, as it says to use the new produre on master and the old procedure on emacs-25. The new procedure works well enough within a single master branch. Any suggested approach should support not only the current emacs-25 branch, but also the future release branches, i.e. it should continue working when we cut the emacs-26 branch in the future. It should also be reliable, and not require manual labor for fixing mistakes in the log messages, beyond the fix itself. > these procedures work, and all those projects are alive and kicking, and actually make more frequent releases than we do. > > XEmacs is not really alive and kicking. XEmacs is not that different from Grep or Sed. Sed, for example, saw just 30 commits during all of the last year. > Projects like GCC and glibc have more resources than we do, and can afford to insist on more-expert contributions that involve harder-to-generate patch formats. We do not have that luxury. It's the other way around, actually: the current situation requires more labor from us to get it right, so our lack of resources should lead us to the opposite conclusion. > I often ran into problems. Yes, git-merge-changelog should reduce the > number of merge conflicts, but it doesn't eliminate them > > Oh, yes, it does. > > Not in my experience, or in Dmitry's. It's a fine program, but it sometimes makes mistakes and they can be a pain to fix. Fixing its mistakes involves moving an entry to a different place, that's all. Easy done, and even if not done, it's not a disaster, as the information is there anyway. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-08 15:50 ` Eli Zaretskii @ 2016-03-09 7:58 ` Paul Eggert 2016-03-09 13:19 ` Stefan Monnier 2016-03-09 16:04 ` Eli Zaretskii 0 siblings, 2 replies; 454+ messages in thread From: Paul Eggert @ 2016-03-09 7:58 UTC (permalink / raw) To: Eli Zaretskii; +Cc: mthl, johnw, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1475 bytes --] Eli Zaretskii wrote: >> My own experience is otherwise. For the kinds of development I do, I rarely see ChangeLog screwups now, whereas I used to see them routinely. > > With or without git-merge-changelog? Without. That program is not normally installed. And I rarely do merges so I don't see why it would help. I recall trying to use it a while ago and had trouble (sorry, do not recall details). > What alternatives that don't "cater to > all sides" would you suggest? The only one I see is to stop producing > ChangeLog files for the releases. That's what Guile does and it works OK. If we want to be more traditional and keep ChangeLog files in releases, we can do what coreutils etc. do. They autogenerate ChangeLog files for releases, but do not put these ChangeLog files in their repositories. They have a way to fix typos in the autogenerated ChangeLog files. It works well enough, as long as typo fixes are rare enough (which they should be). This is all a bit more complicated than what Guile does, but it's simpler than what Emacs does now, and it preserves most of the advantages of what Emacs does now. > Please describe the details of your proposal. For the more-traditional approach, apply the attached patch to emacs-25, and merge it to master. Other branches can pick it up as needed. We can easily implement the Guile approach too (it's even simpler), though it sounds like you prefer the more-traditional approach, at least for now. [-- Attachment #2: 0001-Simplify-autogeneration-of-top-level-ChangeLog.patch --] [-- Type: text/x-diff, Size: 11777 bytes --] From c49feeacc33772212ebf4c53a05adb169d8b1d9b Mon Sep 17 00:00:00 2001 From: Paul Eggert <eggert@cs.ucla.edu> Date: Tue, 8 Mar 2016 23:49:05 -0800 Subject: [PATCH] Simplify autogeneration of top-level ChangeLog Use the simpler approach of coreutils, etc. Do not maintain ChangeLog files in the repository (except for files already present, which are grandfathered in). Insted, generate a ChangeLog file when making a distribution tarball. Any typos in the generated ChangeLog file can be fixed by editing the new file build-aux/git-log-fix. * CONTRIBUTE (Commit messages): * admin/make-tarball.txt: * admin/notes/repo (Maintaining ChangeLog history): Adjust documentation accordingly. * Makefile.in (emacslog, CHANGELOG_N, emacs-25-branch-is-current) (unchanged-history-files, new_commit_regexp) (change-history-nocommit, change-history, change-history-commit): Remove; no longer needed. (gen-ChangeLog): Use an approach like Coreutils. Rename from ChangeLog, for consistency with coreutils. * admin/update_autogen (usage, changelog_flag): Remove -H option, since update_autogen no longer updates ChangeLog. * build-aux/git-log-fix: New file, with format copied from coreutils. * build-aux/gitlog-to-emacslog: New option --amend=FILE. * make-dist: Adjust to ChangeLog -> gen-ChangeLog renaming. --- CONTRIBUTE | 5 ++-- Makefile.in | 61 ++++++++++++-------------------------------- admin/make-tarball.txt | 4 +-- admin/notes/repo | 12 +++------ admin/update_autogen | 14 +--------- build-aux/git-log-fix | 32 +++++++++++++++++++++++ build-aux/gitlog-to-emacslog | 6 ++++- make-dist | 2 +- 8 files changed, 63 insertions(+), 73 deletions(-) create mode 100644 build-aux/git-log-fix diff --git a/CONTRIBUTE b/CONTRIBUTE index 5102b4f..878ac8e 100644 --- a/CONTRIBUTE +++ b/CONTRIBUTE @@ -56,8 +56,9 @@ Here is an example commit message (indented): * src/frame.c (Fhandle_switch_frame, Fselected_frame): Deactivate the mark. -Occasionally, commit messages are collected and prepended to a -ChangeLog file, where they can be corrected. It saves time to get +When generating a release, commit messages are collected into a +ChangeLog file for the release tarball. Although errors in these commit +messages can be fixed (see build-aux/git-log-fix), it saves time to get them right the first time, so here are guidelines for formatting them: - Start with a single unindented summary line explaining the change; diff --git a/Makefile.in b/Makefile.in index b212c91..49c133c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1092,54 +1092,25 @@ bootstrap: bootstrap-clean $(MAKE) MAKEFILE_NAME=force-Makefile force-Makefile $(MAKE) all -.PHONY: ChangeLog change-history change-history-commit change-history-nocommit -.PHONY: emacs-25-branch-is-current unchanged-history-files - CHANGELOG = ChangeLog -emacslog = build-aux/gitlog-to-emacslog # The ChangeLog history files are called ChangeLog.1, ChangeLog.2, ..., -# ChangeLog.$(CHANGELOG_HISTORY_INDEX_MAX). $(CHANGELOG_N) stands for -# the newest (highest-numbered) ChangeLog history file. +# ChangeLog.$(CHANGELOG_HISTORY_INDEX_MAX). These files are left over +# from the old way, where ChangeLogs were kept in the repository. CHANGELOG_HISTORY_INDEX_MAX = 2 -CHANGELOG_N = ChangeLog.$(CHANGELOG_HISTORY_INDEX_MAX) - -# Convert git commit log to ChangeLog file. make-dist uses this. -# I guess this is PHONY so it always updates? -ChangeLog: - $(AM_V_GEN)cd $(srcdir) && \ - ./$(emacslog) -o $(CHANGELOG) -n $(CHANGELOG_HISTORY_INDEX_MAX) - -# Check that we are in a good state for changing history. -emacs-25-branch-is-current: - git branch | grep -q '^\* emacs-25$$' -unchanged-history-files: - x=$$(git diff-files --name-only $(CHANGELOG_N) $(emacslog)) && \ - test -z "$$x" - -# Regular expression that matches the newest commit covered by a ChangeLog. -new_commit_regexp = ^commit [0123456789abcdef]* (inclusive) - -# Copy newer commit messages to the start of the ChangeLog history file, -# and consider them to be older. -change-history-nocommit: emacs-25-branch-is-current unchanged-history-files - -rm -f ChangeLog.tmp - $(MAKE) ChangeLog CHANGELOG=ChangeLog.tmp - sed '/^This file records repository revisions/,$$d' \ - ChangeLog.tmp >$(CHANGELOG_N).tmp - new_commit_line=`grep '$(new_commit_regexp)' ChangeLog.tmp` && \ - sed 's/$(new_commit_regexp).*/'"$$new_commit_line/" \ - $(CHANGELOG_N) >>$(CHANGELOG_N).tmp - rm ChangeLog.tmp - mv $(CHANGELOG_N).tmp $(CHANGELOG_N) - -change-history: change-history-nocommit - $(MAKE) $@-commit - -# If 'make change-history' fails because the newest ChangeLog history -# file contains invalid text, fix the file by hand and then run -# 'make change-history-commit'. -change-history-commit: - git commit -m'; make $@' $(CHANGELOG_N) $(emacslog) + +# Convert more-recent git commit messages to a ChangeLog file. +# make-dist uses this. +.PHONY: gen-ChangeLog +gen-ChangeLog: + $(AM_V_GEN)if test -d .git; then \ + log_fix="$(srcdir)/build-aux/git-log-fix"; \ + test -e "$$log_fix" \ + && amend_git_log="--amend=$$log_fix" \ + || amend_git_log=; \ + $(srcdir)/build-aux/gitlog-to-emacslog \ + -f -n $(CHANGELOG_HISTORY_INDEX_MAX) -o $(CHANGELOG) \ + $$amend_git_log; \ + fi .PHONY: check-declare diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt index 030ad4c..68d0209 100644 --- a/admin/make-tarball.txt +++ b/admin/make-tarball.txt @@ -38,8 +38,8 @@ General steps (for each step, check for possible errors): M-x authors RET If there is an "*Authors Errors*" buffer, address the issues. - If there was a ChangeLog typo, run "make change-history" and then - fix the newest ChangeLog history file. If a file was deleted or + If there was an important ChangeLog typo, edit + build-aux/git-log-fix to fix it. If a file was deleted or renamed, consider adding an appropriate entry to authors-ignored-files, authors-valid-file-names, or authors-renamed-files-alist. diff --git a/admin/notes/repo b/admin/notes/repo index 3ab3da7..bd0d15a 100644 --- a/admin/notes/repo +++ b/admin/notes/repo @@ -124,13 +124,7 @@ ChangeLog.2, etc., and can be edited just as any other source files can. Newer ChangeLog entries are stored in the repository as commit messages, which cannot be edited directly. -'make ChangeLog' copies newer ChangeLog entries into a file +'make gen-ChangeLog' copies newer ChangeLog entries into a file 'ChangeLog' that is intended to be put into the distribution tarball. -This ChangeLog file is not put into the repository. - -'make change-history' copies all newer ChangeLog entries into the -start of the newest ChangeLog history file. These ChangeLog entries -are thereafter considered to be old, so later uses of 'make ChangeLog' -and/or 'make change-history' will no longer copy the entries. To -alter ChangeLog history, run 'make change-history', then edit -the ChangeLog history files manually and commit your changes. +This ChangeLog file is not put into the repository. To correct an +error in a newer ChangeLog entry, edit build-aux/git-log-fix. diff --git a/admin/update_autogen b/admin/update_autogen index 199a3aa..7065e22 100755 --- a/admin/update_autogen +++ b/admin/update_autogen @@ -69,7 +69,6 @@ Options: commit them (caution). -q: be quiet; only give error messages, not status messages. -A: only update autotools files, copying into specified dir. --H: also update ChangeLog.${changelog_n} -I: also update info/dir. -L: also update ldefs-boot.el. -C: start from a clean state. Slower, but more correct. @@ -88,7 +87,6 @@ autogendir= # was "autogen" ldefs_flag=1 lboot_flag= info_flag= -changelog_flag= ## Parameters. ldefs_in=lisp/loaddefs.el @@ -117,7 +115,7 @@ tempfile=/tmp/$PN.$$ trap "rm -f $tempfile 2> /dev/null" EXIT -while getopts ":hcfqA:HCIL" option ; do +while getopts ":hcfqA:CIL" option ; do case $option in (h) usage ;; @@ -133,8 +131,6 @@ while getopts ":hcfqA:HCIL" option ; do (C) clean=1 ;; - (H) changelog_flag=1 ;; - (I) info_flag=1 ;; (L) lboot_flag=1 ;; @@ -388,14 +384,6 @@ modified=$(status $genfiles $ldefs_out) || die commit "loaddefs" $modified || die "commit error" -## Less important than the other stuff, so do it last. -[ ! "$changelog_flag" ] || { - make change-history-nocommit || die "make change-history error" - modified=$(status $changelog_files) || die - commit "ChangeLog" $modified || die "commit error" -} - - exit 0 ### update_autogen ends here diff --git a/build-aux/git-log-fix b/build-aux/git-log-fix new file mode 100644 index 0000000..8976682 --- /dev/null +++ b/build-aux/git-log-fix @@ -0,0 +1,32 @@ +# Changes to automatically-generated ChangeLog + +# Copyright 2016 Free Software Foundation, Inc. + +# This file is part of GNU Emacs. + +# GNU Emacs is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# GNU Emacs is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. + + +# This file is expected to be used via gitlog-to-changelog's --amend=FILE +# option. It specifies what changes to make to each given SHA1's commit +# log and metadata, using Perl-eval'able expressions. + +# For examples of what you can put into this file, see what Coreutils does: +# http://git.savannah.gnu.org/cgit/coreutils.git/tree/build-aux/git-log-fix + + +b1abce1a30c66a22766e3d4b8b4ff9ae852f150c +# This example uniformly replaces one phrase by another, as a test. +# We can remove this example once this file contains real corrections. +s/leading space/leading ' '/g diff --git a/build-aux/gitlog-to-emacslog b/build-aux/gitlog-to-emacslog index bcc47b1..8d12245 100755 --- a/build-aux/gitlog-to-emacslog +++ b/build-aux/gitlog-to-emacslog @@ -25,12 +25,16 @@ export LC_ALL # The newest revision that should not appear in the generated ChangeLog. gen_origin= +# Whether to amend the git log. The default is no amendments. +amend_git_log=--amend=/dev/null + force= output=ChangeLog nmax=2 while [ $# -gt 0 ]; do case "$1" in + --amend=*) amend_git_log=$1 ;; -g|--gen-origin) gen_origin="$2" ; shift ;; -f|--force) force=1 ;; -n|--nmax) nmax="$2"; shift ;; @@ -78,7 +82,7 @@ test -d .git || { # See eg the cairo-related ones. ./build-aux/gitlog-to-changelog \ --ignore-matching="^; |^Merge branch '(master|emacs-[0-9][0-9])' of git\.(savannah|sv)\.gnu\.org:/srv/git/emacs$|^Merge remote-tracking branch '.*'$" \ - --ignore-line='^; ' --format='%B' \ + --ignore-line='^; ' --format='%B' "$amend_git_log" \ "$gen_origin..$new_origin" >"ChangeLog.tmp" || exit if test -s "ChangeLog.tmp"; then diff --git a/make-dist b/make-dist index 1cd1a50..9fa20c4 100755 --- a/make-dist +++ b/make-dist @@ -286,7 +286,7 @@ mkdir ${tempdir} if [ "$changelog" = yes ]; then if test -d .git; then echo "Making top-level ChangeLog" - make ChangeLog CHANGELOG=${tempdir}/ChangeLog || \ + make CHANGELOG=${tempdir}/ChangeLog gen-ChangeLog || \ { x=$?; echo "make ChangeLog FAILED (try --no-changelog?)" >&2; exit $x; } else echo "No repository, so omitting top-level ChangeLog" -- 2.5.0 ^ permalink raw reply related [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 7:58 ` Paul Eggert @ 2016-03-09 13:19 ` Stefan Monnier 2016-03-09 16:10 ` Dmitry Gutov 2016-03-09 17:42 ` Paul Eggert 2016-03-09 16:04 ` Eli Zaretskii 1 sibling, 2 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-09 13:19 UTC (permalink / raw) To: emacs-devel > can do what coreutils etc. do. They autogenerate ChangeLog files for > releases, but do not put these ChangeLog files in their repositories. > They have a way to fix typos in the autogenerated ChangeLog files. So they go though the trouble of fixing typos, but only in the ChangeLog files in the release tarballs (where *very* few people will ever look)? Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 13:19 ` Stefan Monnier @ 2016-03-09 16:10 ` Dmitry Gutov 2016-03-09 18:39 ` Stefan Monnier 2016-03-09 17:42 ` Paul Eggert 1 sibling, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-03-09 16:10 UTC (permalink / raw) To: Stefan Monnier, emacs-devel On 03/09/2016 03:19 PM, Stefan Monnier wrote: >> can do what coreutils etc. do. They autogenerate ChangeLog files for >> releases, but do not put these ChangeLog files in their repositories. >> They have a way to fix typos in the autogenerated ChangeLog files. > > So they go though the trouble of fixing typos, but only in the ChangeLog > files in the release tarballs (where *very* few people will ever look)? Making vc-git-expanded-log-entry look for and show a corresponding entry from the fixes file shouldn't be particularly hard. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 16:10 ` Dmitry Gutov @ 2016-03-09 18:39 ` Stefan Monnier 2016-03-09 18:49 ` Dmitry Gutov 0 siblings, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-03-09 18:39 UTC (permalink / raw) To: Dmitry Gutov; +Cc: emacs-devel >> So they go though the trouble of fixing typos, but only in the ChangeLog >> files in the release tarballs (where *very* few people will ever look)? > Making vc-git-expanded-log-entry look for and show a corresponding entry > from the fixes file shouldn't be particularly hard. But what about vc-print-log and vc-region-history? Doable in Elisp, yes, but how hard, and at what performance cost? Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 18:39 ` Stefan Monnier @ 2016-03-09 18:49 ` Dmitry Gutov 0 siblings, 0 replies; 454+ messages in thread From: Dmitry Gutov @ 2016-03-09 18:49 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel On 03/09/2016 08:39 PM, Stefan Monnier wrote: >> Making vc-git-expanded-log-entry look for and show a corresponding entry >> from the fixes file shouldn't be particularly hard. > > But what about vc-print-log and vc-region-history? vc-print-log - only if we make it use the same format as vc-print-root-log, which isn't not a terrible solution (it'll improve UI consistency). vc-region-history - probably not, if we can't use the same approach for messages as above. Although we could hack something with jit-lock... > Doable in Elisp, yes, but how hard, and at what performance cost? With the above caveats, not too hard, and shouldn't be too slow either. Although if we could co-opt git notes after all, it would be even easier to just ask Git to show them together with commit messages. But that's something Someone should investigate. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 13:19 ` Stefan Monnier 2016-03-09 16:10 ` Dmitry Gutov @ 2016-03-09 17:42 ` Paul Eggert 2016-03-09 18:01 ` Eli Zaretskii 1 sibling, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-03-09 17:42 UTC (permalink / raw) To: Stefan Monnier, emacs-devel On 03/09/2016 05:19 AM, Stefan Monnier wrote: > So they go though the trouble of fixing typos, but only in the ChangeLog > files in the release tarballs (where*very* few people will ever look)? One can easily generate such a ChangeLog before a release, with a coreutils-like approach. Just type "make gen-ChangeLog". In a larger sense you're right, though. I typically don't look at ChangeLogs. and as I understand it you don't either. As time goes on I expect more developers will gravitate to the new system where if you want to look at the change logs you run 'git log' or type 'C-x v l' or whatever floats your boat. I wouldn't be surprised if most developers are there already. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 17:42 ` Paul Eggert @ 2016-03-09 18:01 ` Eli Zaretskii 2016-03-09 18:10 ` Alan Mackenzie ` (2 more replies) 0 siblings, 3 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 18:01 UTC (permalink / raw) To: Paul Eggert; +Cc: monnier, emacs-devel > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Wed, 9 Mar 2016 09:42:43 -0800 > > As time goes on I expect more developers will gravitate to the new > system where if you want to look at the change logs you run 'git > log' or type 'C-x v l' or whatever floats your boat. Which will bring them the same text with mistakes and omissions that we see now. E.g., I see someone's contribution without the paperwork-exempt tag -- how do I know if that person has an assignment, and I'm just missing it somehow, or she doesn't and I;m looking at someone's omission? Same with other blunders. Who needs a history record one cannot trust? It's worse than having no record at all. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 18:01 ` Eli Zaretskii @ 2016-03-09 18:10 ` Alan Mackenzie 2016-03-09 19:09 ` Stefan Monnier 2016-03-09 18:10 ` Dmitry Gutov 2016-03-09 18:55 ` Paul Eggert 2 siblings, 1 reply; 454+ messages in thread From: Alan Mackenzie @ 2016-03-09 18:10 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Paul Eggert, monnier, emacs-devel Hello, Eli. On Wed, Mar 09, 2016 at 08:01:24PM +0200, Eli Zaretskii wrote: > > From: Paul Eggert <eggert@cs.ucla.edu> > > Date: Wed, 9 Mar 2016 09:42:43 -0800 > > As time goes on I expect more developers will gravitate to the new > > system where if you want to look at the change logs you run 'git > > log' or type 'C-x v l' or whatever floats your boat. > Which will bring them the same text with mistakes and omissions that > we see now. E.g., I see someone's contribution without the > paperwork-exempt tag -- how do I know if that person has an > assignment, and I'm just missing it somehow, or she doesn't and I;m > looking at someone's omission? Same with other blunders. > Who needs a history record one cannot trust? It's worse than having > no record at all. Maybe we should move to a version control system which permits commit messages to be amended. (Only half joking.) -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 18:10 ` Alan Mackenzie @ 2016-03-09 19:09 ` Stefan Monnier 2016-03-09 19:34 ` Alan Mackenzie ` (3 more replies) 0 siblings, 4 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-09 19:09 UTC (permalink / raw) To: Alan Mackenzie; +Cc: Eli Zaretskii, Paul Eggert, emacs-devel > Maybe we should move to a version control system which permits commit > messages to be amended. (Only half joking.) These seem to be in rather short supply, sadly. Any suggestion? Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 19:09 ` Stefan Monnier @ 2016-03-09 19:34 ` Alan Mackenzie 2016-03-09 19:42 ` Andreas Schwab 2016-03-09 21:25 ` Stefan Monnier 2016-03-09 23:08 ` Nikolaus Rath ` (2 subsequent siblings) 3 siblings, 2 replies; 454+ messages in thread From: Alan Mackenzie @ 2016-03-09 19:34 UTC (permalink / raw) To: Stefan Monnier; +Cc: Eli Zaretskii, Paul Eggert, emacs-devel Hello, Stefan. On Wed, Mar 09, 2016 at 02:09:53PM -0500, Stefan Monnier wrote: > > Maybe we should move to a version control system which permits commit > > messages to be amended. (Only half joking.) > These seem to be in rather short supply, sadly. Any suggestion? Mercurial. It has the hg histedit command. Or there's always CVS. :-) > Stefan -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 19:34 ` Alan Mackenzie @ 2016-03-09 19:42 ` Andreas Schwab 2016-03-09 23:39 ` Christopher Allan Webber 2016-03-09 21:25 ` Stefan Monnier 1 sibling, 1 reply; 454+ messages in thread From: Andreas Schwab @ 2016-03-09 19:42 UTC (permalink / raw) To: Alan Mackenzie; +Cc: Eli Zaretskii, Paul Eggert, Stefan Monnier, emacs-devel Alan Mackenzie <acm@muc.de> writes: > Hello, Stefan. > > On Wed, Mar 09, 2016 at 02:09:53PM -0500, Stefan Monnier wrote: >> > Maybe we should move to a version control system which permits commit >> > messages to be amended. (Only half joking.) > >> These seem to be in rather short supply, sadly. Any suggestion? > > Mercurial. It has the hg histedit command. Git. It has the git rebase command. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 19:42 ` Andreas Schwab @ 2016-03-09 23:39 ` Christopher Allan Webber 0 siblings, 0 replies; 454+ messages in thread From: Christopher Allan Webber @ 2016-03-09 23:39 UTC (permalink / raw) To: Andreas Schwab Cc: Alan Mackenzie, Eli Zaretskii, Paul Eggert, Stefan Monnier, emacs-devel Andreas Schwab writes: > Alan Mackenzie <acm@muc.de> writes: > >> Hello, Stefan. >> >> On Wed, Mar 09, 2016 at 02:09:53PM -0500, Stefan Monnier wrote: >>> > Maybe we should move to a version control system which permits commit >>> > messages to be amended. (Only half joking.) >> >>> These seem to be in rather short supply, sadly. Any suggestion? >> >> Mercurial. It has the hg histedit command. > > Git. It has the git rebase command. > > Andreas. That requires throwing out your previous history... that's not good practice for code already pushed to a master branch, unless it's an emergency. It creates huge headaches. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 19:34 ` Alan Mackenzie 2016-03-09 19:42 ` Andreas Schwab @ 2016-03-09 21:25 ` Stefan Monnier 1 sibling, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-09 21:25 UTC (permalink / raw) To: Alan Mackenzie; +Cc: Eli Zaretskii, Paul Eggert, emacs-devel >> > Maybe we should move to a version control system which permits commit >> > messages to be amended. (Only half joking.) >> These seem to be in rather short supply, sadly. Any suggestion? > Mercurial. It has the hg histedit command. AFAIK this is the same as Git's rebase, i.e. it leads to a different commit id, so it can't really be used on branches like "master" and "emacs-25" where we do merges and things like that. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 19:09 ` Stefan Monnier 2016-03-09 19:34 ` Alan Mackenzie @ 2016-03-09 23:08 ` Nikolaus Rath 2016-03-09 23:43 ` Andreas Schwab 2016-03-09 23:30 ` Noam Postavsky 2016-03-13 4:06 ` John Wiegley 3 siblings, 1 reply; 454+ messages in thread From: Nikolaus Rath @ 2016-03-09 23:08 UTC (permalink / raw) To: emacs-devel On Mar 09 2016, Stefan Monnier <monnier@IRO.UMontreal.CA> wrote: >> Maybe we should move to a version control system which permits commit >> messages to be amended. (Only half joking.) > > These seem to be in rather short supply, sadly. Any suggestion? Mercurial with the "evolve" extension implements non-destructive history editing. In short, commits can have metadata that marks them as "superseding" a previous commit. Both superseded and new commit remain part of the repository, but most commands be default work on the superseding commit. Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 23:08 ` Nikolaus Rath @ 2016-03-09 23:43 ` Andreas Schwab 2016-03-10 6:49 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Andreas Schwab @ 2016-03-09 23:43 UTC (permalink / raw) To: emacs-devel Nikolaus Rath <Nikolaus@rath.org> writes: > On Mar 09 2016, Stefan Monnier <monnier@IRO.UMontreal.CA> wrote: >>> Maybe we should move to a version control system which permits commit >>> messages to be amended. (Only half joking.) >> >> These seem to be in rather short supply, sadly. Any suggestion? > > Mercurial with the "evolve" extension implements non-destructive history > editing. In short, commits can have metadata that marks them as > "superseding" a previous commit. Both superseded and new commit remain > part of the repository, but most commands be default work on the > superseding commit. Like git replace. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 23:43 ` Andreas Schwab @ 2016-03-10 6:49 ` Eli Zaretskii 2016-03-10 9:05 ` Andreas Schwab 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-10 6:49 UTC (permalink / raw) To: Andreas Schwab; +Cc: emacs-devel > From: Andreas Schwab <schwab@linux-m68k.org> > Date: Thu, 10 Mar 2016 00:43:57 +0100 > > > Mercurial with the "evolve" extension implements non-destructive history > > editing. In short, commits can have metadata that marks them as > > "superseding" a previous commit. Both superseded and new commit remain > > part of the repository, but most commands be default work on the > > superseding commit. > > Like git replace. Do you know how does "git replace" interact with merging, rebasing, and cherry-picking? The man page doesn't seem to mention these. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 6:49 ` Eli Zaretskii @ 2016-03-10 9:05 ` Andreas Schwab 2016-03-10 9:44 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Andreas Schwab @ 2016-03-10 9:05 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: Andreas Schwab <schwab@linux-m68k.org> >> Date: Thu, 10 Mar 2016 00:43:57 +0100 >> >> > Mercurial with the "evolve" extension implements non-destructive history >> > editing. In short, commits can have metadata that marks them as >> > "superseding" a previous commit. Both superseded and new commit remain >> > part of the repository, but most commands be default work on the >> > superseding commit. >> >> Like git replace. > > Do you know how does "git replace" interact with merging, rebasing, > and cherry-picking? The man page doesn't seem to mention these. git replace should be transparent most of the time (except for some plumbing like git cat-file, and you can ignore replacements with --no-replace-objects). But note that they are stored in a different namespace that is not pulled by default. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 9:05 ` Andreas Schwab @ 2016-03-10 9:44 ` Eli Zaretskii 2016-03-10 10:00 ` Andreas Schwab 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-10 9:44 UTC (permalink / raw) To: Andreas Schwab; +Cc: emacs-devel > From: Andreas Schwab <schwab@linux-m68k.org> > Cc: emacs-devel@gnu.org > Date: Thu, 10 Mar 2016 10:05:06 +0100 > > git replace should be transparent most of the time (except for some > plumbing like git cat-file, and you can ignore replacements with > --no-replace-objects). But note that they are stored in a different > namespace that is not pulled by default. Does "pull --all" solve that? More generally, can we put something in .git/config that would cause that namespace to be pulled by default? ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 9:44 ` Eli Zaretskii @ 2016-03-10 10:00 ` Andreas Schwab 2016-03-10 10:34 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Andreas Schwab @ 2016-03-10 10:00 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: Andreas Schwab <schwab@linux-m68k.org> >> Cc: emacs-devel@gnu.org >> Date: Thu, 10 Mar 2016 10:05:06 +0100 >> >> git replace should be transparent most of the time (except for some >> plumbing like git cat-file, and you can ignore replacements with >> --no-replace-objects). But note that they are stored in a different >> namespace that is not pulled by default. > > Does "pull --all" solve that? No, you need to add a fetch spec for it. pull --all is only about multiple remotes. > More generally, can we put something in .git/config that would cause > that namespace to be pulled by default? git config --add remote.origin.fetch +refs/replace/*:refs/replace/* Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 10:00 ` Andreas Schwab @ 2016-03-10 10:34 ` Eli Zaretskii 2016-03-10 11:49 ` Sven Axelsson 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-10 10:34 UTC (permalink / raw) To: Andreas Schwab; +Cc: emacs-devel > From: Andreas Schwab <schwab@linux-m68k.org> > Cc: emacs-devel@gnu.org > Date: Thu, 10 Mar 2016 11:00:47 +0100 > > > More generally, can we put something in .git/config that would cause > > that namespace to be pulled by default? > > git config --add remote.origin.fetch +refs/replace/*:refs/replace/* OK, thanks. So how does one go about creating a replacement commit for a commit that was pushed upstream? The man page of "git replace" mentions "git rebase", but I cannot find anything pertinent on the rebase man page. The procedure described here: https://git-scm.com/book/en/v2/Git-Tools-Replace sounds quite complicated. If we need to do all that every time we want to fix a single commit, I'd expect a lot of mistakes and snafus. But maybe there's an easier way, in which case we could consider this feature as part of the solution for fixing mistakes in log messages. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 10:34 ` Eli Zaretskii @ 2016-03-10 11:49 ` Sven Axelsson 2016-03-10 13:08 ` Eli Zaretskii 2016-03-10 15:03 ` Stefan Monnier 0 siblings, 2 replies; 454+ messages in thread From: Sven Axelsson @ 2016-03-10 11:49 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Andreas Schwab, emacs On 10 March 2016 at 11:34, Eli Zaretskii <eliz@gnu.org> wrote: >> From: Andreas Schwab <schwab@linux-m68k.org> >> Cc: emacs-devel@gnu.org >> Date: Thu, 10 Mar 2016 11:00:47 +0100 >> >> > More generally, can we put something in .git/config that would cause >> > that namespace to be pulled by default? >> >> git config --add remote.origin.fetch +refs/replace/*:refs/replace/* > > OK, thanks. > > So how does one go about creating a replacement commit for a commit > that was pushed upstream? The man page of "git replace" mentions "git > rebase", but I cannot find anything pertinent on the rebase man page. > The procedure described here: > > https://git-scm.com/book/en/v2/Git-Tools-Replace > > sounds quite complicated. If we need to do all that every time we > want to fix a single commit, I'd expect a lot of mistakes and snafus. > But maybe there's an easier way, in which case we could consider this > feature as part of the solution for fixing mistakes in log messages. > When you only want to deal with changing the commit message and not the actual commit, it is as simple as calling `git replace --edit <SHA>'. This will bring up your system editor where you can change the commit message. Doing it this way will not change history. -- Sven Axelsson ++++++++++[>++++++++++>+++++++++++>++++++++++>++++++ >++++<<<<<-]>++++.+.++++.>+++++.>+.<<-.>>+.>++++.<<. +++.>-.<<++.>>----.<++.>>>++++++.<<<<.>>++++.<----. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 11:49 ` Sven Axelsson @ 2016-03-10 13:08 ` Eli Zaretskii 2016-03-10 13:14 ` Evgeny Panasyuk 2016-03-10 15:03 ` Stefan Monnier 1 sibling, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-10 13:08 UTC (permalink / raw) To: Sven Axelsson; +Cc: schwab, emacs-devel > Date: Thu, 10 Mar 2016 12:49:34 +0100 > From: Sven Axelsson <sven.axelsson@gmail.com> > Cc: Andreas Schwab <schwab@linux-m68k.org>, emacs <emacs-devel@gnu.org> > > When you only want to deal with changing the commit message and not > the actual commit, it is as simple as calling `git replace --edit > <SHA>'. This will bring up your system editor where you can change the > commit message. > > Doing it this way will not change history. How can it not change history, when (AFAIK) the log message is part of the commit object, and it included in the stuff that determines the SHA1 checksum of the commit? ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 13:08 ` Eli Zaretskii @ 2016-03-10 13:14 ` Evgeny Panasyuk 2016-03-10 13:25 ` Sven Axelsson 0 siblings, 1 reply; 454+ messages in thread From: Evgeny Panasyuk @ 2016-03-10 13:14 UTC (permalink / raw) To: emacs-devel 10.03.2016 16:08, Eli Zaretskii: >> Doing it this way will not change history. > > How can it not change history, when (AFAIK) the log message is part of > the commit object, and it included in the stuff that determines the > SHA1 checksum of the commit? As I understand it does not change original commit object, but rather creates kind of "replacement rule". In a similar manner as git notes attaches additional info to commit message without changing original one. If you would not fetch replacement refs then you will not see these "amendments". -- Evgeny Panasyuk ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 13:14 ` Evgeny Panasyuk @ 2016-03-10 13:25 ` Sven Axelsson 2016-03-10 13:43 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Sven Axelsson @ 2016-03-10 13:25 UTC (permalink / raw) To: Evgeny Panasyuk; +Cc: emacs On 10 March 2016 at 14:14, Evgeny Panasyuk <evgeny.panasyuk@gmail.com> wrote: > 10.03.2016 16:08, Eli Zaretskii: >>> >>> Doing it this way will not change history. >> >> >> How can it not change history, when (AFAIK) the log message is part of >> the commit object, and it included in the stuff that determines the >> SHA1 checksum of the commit? > > > As I understand it does not change original commit object, but rather > creates kind of "replacement rule". In a similar manner as git notes > attaches additional info to commit message without changing original one. > If you would not fetch replacement refs then you will not see these > "amendments". That's right. As mentioned earlier in the thread, it creates a replacement object stored in a special refs hierarchy. But for normal use, e.g. git log, git grep and such it appears as if the commit objects have been changed in-place. -- Sven Axelsson ++++++++++[>++++++++++>+++++++++++>++++++++++>++++++ >++++<<<<<-]>++++.+.++++.>+++++.>+.<<-.>>+.>++++.<<. +++.>-.<<++.>>----.<++.>>>++++++.<<<<.>>++++.<----. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 13:25 ` Sven Axelsson @ 2016-03-10 13:43 ` Eli Zaretskii 2016-03-13 4:04 ` John Wiegley 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-10 13:43 UTC (permalink / raw) To: Sven Axelsson; +Cc: evgeny.panasyuk, emacs-devel > Date: Thu, 10 Mar 2016 14:25:49 +0100 > From: Sven Axelsson <sven.axelsson@gmail.com> > Cc: emacs <emacs-devel@gnu.org> If using "git replace" to fix a mistake in a log message is as simple as saying "git replace --edit SHA1" followed by "git push", then perhaps someone would like to try this for a while in a test repository, and if that gives good results, we could start using that. Thanks. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 13:43 ` Eli Zaretskii @ 2016-03-13 4:04 ` John Wiegley 2016-03-13 16:08 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: John Wiegley @ 2016-03-13 4:04 UTC (permalink / raw) To: Eli Zaretskii; +Cc: evgeny.panasyuk, Sven Axelsson, emacs-devel >>>>> Eli Zaretskii <eliz@gnu.org> writes: > If using "git replace" to fix a mistake in a log message is as simple as > saying "git replace --edit SHA1" followed by "git push", then perhaps > someone would like to try this for a while in a test repository, and if that > gives good results, we could start using that. I'll give it a try and see how well it fits with the other proposal I made today. If 'git replace' is better/easier than maintaining our own separate amendments file, then it sounds nice. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-13 4:04 ` John Wiegley @ 2016-03-13 16:08 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-13 16:08 UTC (permalink / raw) To: John Wiegley; +Cc: evgeny.panasyuk, sven.axelsson, emacs-devel > From: John Wiegley <jwiegley@gmail.com> > Cc: Sven Axelsson <sven.axelsson@gmail.com>, evgeny.panasyuk@gmail.com, emacs-devel@gnu.org > Date: Sat, 12 Mar 2016 20:04:32 -0800 > > >>>>> Eli Zaretskii <eliz@gnu.org> writes: > > > If using "git replace" to fix a mistake in a log message is as simple as > > saying "git replace --edit SHA1" followed by "git push", then perhaps > > someone would like to try this for a while in a test repository, and if that > > gives good results, we could start using that. > > I'll give it a try and see how well it fits with the other proposal I made > today. If 'git replace' is better/easier than maintaining our own separate > amendments file, then it sounds nice. Thanks. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 11:49 ` Sven Axelsson 2016-03-10 13:08 ` Eli Zaretskii @ 2016-03-10 15:03 ` Stefan Monnier 2016-03-10 16:01 ` Sven Axelsson 2016-03-10 16:34 ` Paul Eggert 1 sibling, 2 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-10 15:03 UTC (permalink / raw) To: emacs-devel > When you only want to deal with changing the commit message and not > the actual commit, it is as simple as calling `git replace --edit > <SHA>'. This will bring up your system editor where you can change the > commit message. Ha! Finally! So "git replace" seems like it might do the trick. At least it leads to the right "git log" output. Now the question is: how do we distribute those "replacements"? According to "git replace --help" they're added to the refs/replace/ namespace, so what do we need to do for push/pull to propagate them? Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 15:03 ` Stefan Monnier @ 2016-03-10 16:01 ` Sven Axelsson 2016-03-10 16:34 ` Paul Eggert 1 sibling, 0 replies; 454+ messages in thread From: Sven Axelsson @ 2016-03-10 16:01 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs On 10 March 2016 at 16:03, Stefan Monnier <monnier@iro.umontreal.ca> wrote: >> When you only want to deal with changing the commit message and not >> the actual commit, it is as simple as calling `git replace --edit >> <SHA>'. This will bring up your system editor where you can change the >> commit message. > > Ha! Finally! > > So "git replace" seems like it might do the trick. > At least it leads to the right "git log" output. Now the question is: > how do we distribute those "replacements"? > > According to "git replace --help" they're added to the refs/replace/ > namespace, so what do we need to do for push/pull to propagate them? Andreas Schwab answered that in an earlier message. > More generally, can we put something in .git/config that would cause > that namespace to be pulled by default? git config --add remote.origin.fetch +refs/replace/*:refs/replace/* -- Sven Axelsson ++++++++++[>++++++++++>+++++++++++>++++++++++>++++++ >++++<<<<<-]>++++.+.++++.>+++++.>+.<<-.>>+.>++++.<<. +++.>-.<<++.>>----.<++.>>>++++++.<<<<.>>++++.<----. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 15:03 ` Stefan Monnier 2016-03-10 16:01 ` Sven Axelsson @ 2016-03-10 16:34 ` Paul Eggert 2016-03-10 17:17 ` Stefan Monnier 1 sibling, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-03-10 16:34 UTC (permalink / raw) To: Stefan Monnier, emacs-devel On 03/10/2016 07:03 AM, Stefan Monnier wrote: > So "git replace" seems like it might do the trick. I'm not a fan of 'git replace' for the same reason I'm not a fan of changing history in general. I don't plan to use it and won't recommend it to others. However, if allowing its usage is the price we need to pay for Eli's agreement then I'm willing to pay that price. As I understand it, the patch I proposed should work just fine when combined with 'git-replace'. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 16:34 ` Paul Eggert @ 2016-03-10 17:17 ` Stefan Monnier 2016-03-10 17:32 ` Yuri Khan ` (2 more replies) 0 siblings, 3 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-10 17:17 UTC (permalink / raw) To: Paul Eggert; +Cc: emacs-devel > I'm not a fan of 'git replace' for the same reason I'm not a fan of changing > history in general. Indeed, "git replace" is a lot more powerful than I'd like. I don't consider commit messages as being part of "what happened" but rather as a description of what happened (i.e. what historiographers write). So, I'm perfectly fine with "git replace" used on commit messages. [ IOW If it was for me, the computation of the SHA1 would not include the commit message. ] > I don't plan to use it and won't recommend it to others. However, if > allowing its usage is the price we need to pay for Eli's agreement > then I'm willing to pay that price. Is there some way to control its usage? Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 17:17 ` Stefan Monnier @ 2016-03-10 17:32 ` Yuri Khan 2016-03-10 17:39 ` Paul Eggert 2016-03-10 18:50 ` Eli Zaretskii 2 siblings, 0 replies; 454+ messages in thread From: Yuri Khan @ 2016-03-10 17:32 UTC (permalink / raw) To: Stefan Monnier; +Cc: Paul Eggert, Emacs developers On Thu, Mar 10, 2016 at 11:17 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote: > Indeed, "git replace" is a lot more powerful than I'd like. > > Is there some way to control its usage? Perhaps an update hook on the central repository could abort the push if the ref name starts with refs/replace/ and the diff between old and new ref states is non-empty. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 17:17 ` Stefan Monnier 2016-03-10 17:32 ` Yuri Khan @ 2016-03-10 17:39 ` Paul Eggert 2016-03-10 18:50 ` Eli Zaretskii 2 siblings, 0 replies; 454+ messages in thread From: Paul Eggert @ 2016-03-10 17:39 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel On 03/10/2016 09:17 AM, Stefan Monnier wrote: > Indeed, "git replace" is a lot more powerful than I'd like.... > Is there some way to control its usage? As far as I know, the only control is to ignore all replacements, by using git's --no-replace-objects option or setting the GIT_NO_REPLACE_OBJECTS environment variable. As I understand it, 'git replace' was motivated by the need to do fancier things, e.g., link a repository with another old repository. It is indeed a powerful mechanism. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 17:17 ` Stefan Monnier 2016-03-10 17:32 ` Yuri Khan 2016-03-10 17:39 ` Paul Eggert @ 2016-03-10 18:50 ` Eli Zaretskii 2016-03-10 19:09 ` Stefan Monnier 2 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-10 18:50 UTC (permalink / raw) To: Stefan Monnier; +Cc: eggert, emacs-devel > From: Stefan Monnier <monnier@iro.umontreal.ca> > Date: Thu, 10 Mar 2016 12:17:06 -0500 > Cc: emacs-devel@gnu.org > > > I'm not a fan of 'git replace' for the same reason I'm not a fan of changing > > history in general. > > Indeed, "git replace" is a lot more powerful than I'd like. > > I don't consider commit messages as being part of "what happened" but > rather as a description of what happened (i.e. what historiographers > write). So, I'm perfectly fine with "git replace" used on > commit messages. That's my view as well, although having heard about this command just today admittedly doesn't give my view too much weight. > > I don't plan to use it and won't recommend it to others. However, if > > allowing its usage is the price we need to pay for Eli's agreement > > then I'm willing to pay that price. > > Is there some way to control its usage? I think we also need to test-drive it before we decide to use it. I hope someone will try that and report back. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 18:50 ` Eli Zaretskii @ 2016-03-10 19:09 ` Stefan Monnier 0 siblings, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-10 19:09 UTC (permalink / raw) To: Eli Zaretskii; +Cc: eggert, emacs-devel > I think we also need to test-drive it before we decide to use it. > I hope someone will try that and report back. Indeed. E.g. if there are ten thousand replacements, does it affect performance noticeably? Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 19:09 ` Stefan Monnier 2016-03-09 19:34 ` Alan Mackenzie 2016-03-09 23:08 ` Nikolaus Rath @ 2016-03-09 23:30 ` Noam Postavsky 2016-03-10 13:03 ` Stefan Monnier 2016-03-13 4:06 ` John Wiegley 3 siblings, 1 reply; 454+ messages in thread From: Noam Postavsky @ 2016-03-09 23:30 UTC (permalink / raw) To: Stefan Monnier; +Cc: Alan Mackenzie, Eli Zaretskii, Paul Eggert, emacs-devel On Wed, Mar 9, 2016 at 2:09 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote: >> Maybe we should move to a version control system which permits commit >> messages to be amended. (Only half joking.) > > These seem to be in rather short supply, sadly. Any suggestion? > > > Stefan > fossil allows commit message editing. It works by adding a new commit-editing commit, e.g: https://www.fossil-scm.org/index.html/info/d1438b400b85dfe8 had its comment changed by https://www.fossil-scm.org/index.html/info/680b5619ff723562 ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 23:30 ` Noam Postavsky @ 2016-03-10 13:03 ` Stefan Monnier 0 siblings, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-10 13:03 UTC (permalink / raw) To: Noam Postavsky; +Cc: Alan Mackenzie, Eli Zaretskii, Paul Eggert, emacs-devel > fossil allows commit message editing. It works by adding a new > commit-editing commit, e.g: Cool, thanks, I haven't looked seriously at fossil yet, so I'm glad to hear that they took this issue seriously. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 19:09 ` Stefan Monnier ` (2 preceding siblings ...) 2016-03-09 23:30 ` Noam Postavsky @ 2016-03-13 4:06 ` John Wiegley 3 siblings, 0 replies; 454+ messages in thread From: John Wiegley @ 2016-03-13 4:06 UTC (permalink / raw) To: Stefan Monnier; +Cc: Alan Mackenzie, Eli Zaretskii, Paul Eggert, emacs-devel [-- Attachment #1: Type: text/plain, Size: 620 bytes --] >>>>> Stefan Monnier <monnier@IRO.UMontreal.CA> writes: >> Maybe we should move to a version control system which permits commit >> messages to be amended. (Only half joking.) > These seem to be in rather short supply, sadly. Any suggestion? Please avoid questions like this. We are not going to be changing our version control system, and so opening a discussion to discuss alternatives all over again is both unnecessary and distracting. Thank you, -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 629 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 18:01 ` Eli Zaretskii 2016-03-09 18:10 ` Alan Mackenzie @ 2016-03-09 18:10 ` Dmitry Gutov 2016-03-09 18:55 ` Paul Eggert 2 siblings, 0 replies; 454+ messages in thread From: Dmitry Gutov @ 2016-03-09 18:10 UTC (permalink / raw) To: Eli Zaretskii, Paul Eggert; +Cc: monnier, emacs-devel On 03/09/2016 08:01 PM, Eli Zaretskii wrote: > Which will bring them the same text with mistakes and omissions that > we see now. E.g., I see someone's contribution without the > paperwork-exempt tag -- how do I know if that person has an > assignment, and I'm just missing it somehow, or she doesn't and I;m > looking at someone's omission? Same with other blunders. Again, we can integrate the fixes file with VC, and show its contents together with the original commit message. Although, to make that it consistent, we'll need to switch to the "short" format in vc-print-log, just like vc-print-root-log is already displayed. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 18:01 ` Eli Zaretskii 2016-03-09 18:10 ` Alan Mackenzie 2016-03-09 18:10 ` Dmitry Gutov @ 2016-03-09 18:55 ` Paul Eggert 2016-03-09 19:14 ` Eli Zaretskii 2 siblings, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-03-09 18:55 UTC (permalink / raw) To: Eli Zaretskii; +Cc: monnier, emacs-devel On 03/09/2016 10:01 AM, Eli Zaretskii wrote: > Who needs a history record one cannot trust? It's worse than having > no record at all. Any historian will tell you that you cannot trust historical records. Caesar's commentaries, Churchill's speeches, the Open Group Rationale, Emacs ChangeLog entries -- they're all riddled with errors, and sometimes have outright fabrications, and anybody studying them must take this into account. That's just life. (Though I do hope our ChangeLogs are more trustworthy than Caesar was....) There is a reasonable question about how much of our development effort should be devoted to sprucing up ChangeLogs after they're committed. I think this should be low priority, whereas as I understand it you would prefer that we boost its priority. Neither side is advocating untrustworthy ChangeLogs, or perfect ChangeLogs for that matter; it's mainly a question of where to allocate our scarce development resources. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 18:55 ` Paul Eggert @ 2016-03-09 19:14 ` Eli Zaretskii 2016-03-09 19:26 ` Paul Eggert 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 19:14 UTC (permalink / raw) To: Paul Eggert; +Cc: monnier, emacs-devel > Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Wed, 9 Mar 2016 10:55:39 -0800 > > On 03/09/2016 10:01 AM, Eli Zaretskii wrote: > > Who needs a history record one cannot trust? It's worse than having > > no record at all. > > Any historian will tell you that you cannot trust historical records. > Caesar's commentaries, Churchill's speeches, the Open Group Rationale, > Emacs ChangeLog entries -- they're all riddled with errors, and > sometimes have outright fabrications, and anybody studying them must > take this into account. That's just life. If I wanted to be a historian, I wouldn't be here. This community is about software development, not about historical research. When I'm looking up a commit, I want accurate information about it. I don't want to embark on a history research project to find out which words are truthful and which are a lie. IOW, this analogy is not helpful, and I suspect you know that. > There is a reasonable question about how much of our development effort > should be devoted to sprucing up ChangeLogs after they're committed. I > think this should be low priority, whereas as I understand it you would > prefer that we boost its priority. Neither side is advocating > untrustworthy ChangeLogs, or perfect ChangeLogs for that matter; it's > mainly a question of where to allocate our scarce development resources. I'm arguing that we shouldn't _need_ to allocate resources to it. Reinstating ChangeLog files solves that with minimal costs, and its only disadvantage seems to be that it sounds "regression" to some. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 19:14 ` Eli Zaretskii @ 2016-03-09 19:26 ` Paul Eggert 2016-03-09 19:57 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-03-09 19:26 UTC (permalink / raw) To: Eli Zaretskii; +Cc: monnier, emacs-devel On 03/09/2016 11:14 AM, Eli Zaretskii wrote: > This community is about software development, not about historical > research. When I'm looking up a commit, I want accurate information > about it. Like it or not, that is a form of historical research. One cannot escape the basic principles of history, and in particular one cannot insist that the historical record must be error-free. > >> There is a reasonable question about how much of our development effort >> should be devoted to sprucing up ChangeLogs after they're committed. I >> think this should be low priority, whereas as I understand it you would >> prefer that we boost its priority. Neither side is advocating >> untrustworthy ChangeLogs, or perfect ChangeLogs for that matter; it's >> mainly a question of where to allocate our scarce development resources. > I'm arguing that we shouldn't _need_ to allocate resources to it. > There is no free lunch here. There is a real cost to the old-fashioned approach of keeping commit messages as files in the repository. This cost is borne by every contributor, and the hassles of dealing with it was a primary motivation for Emacs (and other projects) moving away from that approach. Regardless of the approach taken, there is also a cost to sprucing up the historical record, a cost borne by the developers who do the sprucing-up. This sort of approach does work unless we devote real resources to it. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 19:26 ` Paul Eggert @ 2016-03-09 19:57 ` Eli Zaretskii 2016-03-10 1:32 ` Paul Eggert 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 19:57 UTC (permalink / raw) To: Paul Eggert; +Cc: monnier, emacs-devel > Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Wed, 9 Mar 2016 11:26:19 -0800 > > On 03/09/2016 11:14 AM, Eli Zaretskii wrote: > > This community is about software development, not about historical > > research. When I'm looking up a commit, I want accurate information > > about it. > > Like it or not, that is a form of historical research. No, it's a very far cry from historical research. > >> There is a reasonable question about how much of our development effort > >> should be devoted to sprucing up ChangeLogs after they're committed. I > >> think this should be low priority, whereas as I understand it you would > >> prefer that we boost its priority. Neither side is advocating > >> untrustworthy ChangeLogs, or perfect ChangeLogs for that matter; it's > >> mainly a question of where to allocate our scarce development resources. > > I'm arguing that we shouldn't _need_ to allocate resources to it. > > There is no free lunch here. No free lunch, but some lunches are cheaper than others. > There is a real cost to the old-fashioned approach of keeping commit > messages as files in the repository. This cost is borne by every > contributor, and the hassles of dealing with it was a primary > motivation for Emacs (and other projects) moving away from that > approach. That cost is much lower than any of the alternatives proposed so far, including the current arrangement with ChangeLog.2. It worked for years. If someone has a better proposal, let's hear it. > Regardless of the approach taken, there is also a cost to > sprucing up the historical record Since this is regardless of the approach, it shouldn't affect the decision in this matter. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 19:57 ` Eli Zaretskii @ 2016-03-10 1:32 ` Paul Eggert 2016-03-10 6:55 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-03-10 1:32 UTC (permalink / raw) To: Eli Zaretskii; +Cc: monnier, emacs-devel On 03/09/2016 11:57 AM, Eli Zaretskii wrote: >> Like it or not, that is a form of historical research. > No, it's a very far cry from historical research. > I won't insist on calling it "historical research", admittedly a phrase that suggests bigger things than finding out why Emacs doesn't use setenv on "TZ". Still, the point remains that primary sources are unreliable in Emacs development, just as they are in any form of historical research. If someone ever gets around to writing a definitive history of Emacs (I'm looking at you, ESR!), then they'll have to take ChangeLogs with a grain of salt, just as you and I do in routine code spelunking. > That cost is much lower than any of the alternatives proposed so far, > including the current arrangement with ChangeLog.2. It worked for years. I'm afraid we'll have to disagree on costs. The old way of doing things was a constant irritation to me and to others. >> Regardless of the approach taken, there is also a cost to >> sprucing up the historical record > Since this is regardless of the approach, it shouldn't affect the > decision in this matter. No, they're still related. If sprucing up ChangeLogs is low-priority work that distracts us from other things, then it's not advantageous to adopt a technical approach merely on the grounds that the approach makes it easier to spruce up ChangeLogs. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 1:32 ` Paul Eggert @ 2016-03-10 6:55 ` Eli Zaretskii 2016-03-10 16:41 ` Paul Eggert 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-10 6:55 UTC (permalink / raw) To: Paul Eggert; +Cc: monnier, emacs-devel > Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Wed, 9 Mar 2016 17:32:44 -0800 > > > That cost is much lower than any of the alternatives proposed so far, > > including the current arrangement with ChangeLog.2. It worked for years. > > I'm afraid we'll have to disagree on costs. The old way of doing things > was a constant irritation to me and to others. Your opinion on this needs to be taken with a grain of salt, since you never tried to install git-merge-changelog. Without it, I agree with you that ChangeLog merge conflicts are very irritating. But that's exactly why git-merge-changelog was written. > >> Regardless of the approach taken, there is also a cost to > >> sprucing up the historical record > > Since this is regardless of the approach, it shouldn't affect the > > decision in this matter. > > No, they're still related. If sprucing up ChangeLogs is low-priority > work that distracts us from other things, then it's not advantageous to > adopt a technical approach merely on the grounds that the approach makes > it easier to spruce up ChangeLogs. It's not low-priority work when I need an accurate accord of what happened. Then it's very high priority for me. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 6:55 ` Eli Zaretskii @ 2016-03-10 16:41 ` Paul Eggert 2016-03-10 17:20 ` Stefan Monnier 2016-03-10 17:39 ` Wolfgang Jenkner 0 siblings, 2 replies; 454+ messages in thread From: Paul Eggert @ 2016-03-10 16:41 UTC (permalink / raw) To: Eli Zaretskii; +Cc: monnier, emacs-devel On 03/09/2016 10:55 PM, Eli Zaretskii wrote: > Your opinion on this needs to be taken with a grain of salt, since you > never tried to install git-merge-changelog. Without it, I agree with > you that ChangeLog merge conflicts are very irritating. But that's > exactly why git-merge-changelog was written. This doesn't address the point that the old system had real problems even when I wasn't doing merges (which is my normal mode of operation). And Dmitry reported problems even when using git-merge-changelog. > It's not low-priority work when I need an accurate accord of what > happened. Then it's very high priority for me. When I want an accurate record of what happened, I want to see what was actually committed, warts and all. If people start using git-replace to change old commit messages, I'll probably start using --no-replace-objects to see what the original commit looked like. I realize your style differs. Still, it's not clear that it's worth inflicting significant pain on other developers in order to support that style. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 16:41 ` Paul Eggert @ 2016-03-10 17:20 ` Stefan Monnier 2016-03-10 17:39 ` Wolfgang Jenkner 1 sibling, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-10 17:20 UTC (permalink / raw) To: Paul Eggert; +Cc: Eli Zaretskii, emacs-devel > When I want an accurate record of what happened, I want to see what was > actually committed, warts and all. If people start using git-replace to > change old commit messages, I'll probably start using --no-replace-objects > to see what the original commit looked like. I realize your style > differs. Still, it's not clear that it's worth inflicting significant pain > on other developers in order to support that style. Maybe the Git guys would accept a patch which lets you provide a "--full-history" option to "git log" such that for every commit whose message has a "replace"ment, it will show you not only the replacement, but the original message as well (and maybe even the sequence of replacements, if there can be such a thing). Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-10 16:41 ` Paul Eggert 2016-03-10 17:20 ` Stefan Monnier @ 2016-03-10 17:39 ` Wolfgang Jenkner 1 sibling, 0 replies; 454+ messages in thread From: Wolfgang Jenkner @ 2016-03-10 17:39 UTC (permalink / raw) To: Paul Eggert; +Cc: Eli Zaretskii, monnier, emacs-devel On Thu, Mar 10 2016, Paul Eggert wrote: > When I want an accurate record of what happened, I want to see what > was actually committed, warts and all. Wouldn't git-notes be a better option then (IIUC), so that instead of the original commit message being superseded there would be a list of errata (or other notes), which git-log still shows by default? ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 7:58 ` Paul Eggert 2016-03-09 13:19 ` Stefan Monnier @ 2016-03-09 16:04 ` Eli Zaretskii 2016-03-09 18:16 ` Paul Eggert 1 sibling, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 16:04 UTC (permalink / raw) To: Paul Eggert; +Cc: mthl, johnw, emacs-devel > Cc: johnw@gnu.org, mthl@gnu.org, emacs-devel@gnu.org > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Tue, 8 Mar 2016 23:58:07 -0800 > > >> My own experience is otherwise. For the kinds of development I do, I rarely see ChangeLog screwups now, whereas I used to see them routinely. > > > > With or without git-merge-changelog? > > Without. Then I understand why your experience is so negative. > > Please describe the details of your proposal. > > For the more-traditional approach, apply the attached patch to emacs-25, and > merge it to master. Other branches can pick it up as needed. Didn't we consider this approach, and decided that having ChangeLog.2 was better? ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 16:04 ` Eli Zaretskii @ 2016-03-09 18:16 ` Paul Eggert 2016-03-09 18:27 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-03-09 18:16 UTC (permalink / raw) To: Eli Zaretskii; +Cc: mthl, johnw, emacs-devel On 03/09/2016 08:04 AM, Eli Zaretskii wrote: >> Cc: johnw@gnu.org, mthl@gnu.org, emacs-devel@gnu.org >> From: Paul Eggert <eggert@cs.ucla.edu> >> Date: Tue, 8 Mar 2016 23:58:07 -0800 >> >>>> My own experience is otherwise. For the kinds of development I do, I rarely see ChangeLog screwups now, whereas I used to see them routinely. >>> With or without git-merge-changelog? >> Without. > Then I understand why your experience is so negative. This appears to be implying that if I had installed git-merge-changelog and configured Git to use it, I would have had a better experience. I don't see how this would be so. As I said, I rarely do merges, so making merges work better wouldn't help me. >>> Please describe the details of your proposal. >> For the more-traditional approach, apply the attached patch to emacs-25, and >> merge it to master. Other branches can pick it up as needed. > Didn't we consider this approach, and decided that having ChangeLog.2 > was better? Yes and no. We came up with Emacs's current approach as a compromise. I would have preferred the approach taken by Guile (no ChangeLogs at all; just use 'git log' or whatever). Second-best would have been Coreutils (ChangeLog files in tarball, mainly to keep ChangeLog-file fans happy; they're not used by people doing active development). The approach currently taken by Emacs is a further compromise, which I think nobody likes. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 18:16 ` Paul Eggert @ 2016-03-09 18:27 ` Eli Zaretskii 2016-03-09 18:34 ` Paul Eggert 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 18:27 UTC (permalink / raw) To: Paul Eggert; +Cc: mthl, johnw, emacs-devel > Cc: johnw@gnu.org, mthl@gnu.org, emacs-devel@gnu.org > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Wed, 9 Mar 2016 10:16:29 -0800 > > On 03/09/2016 08:04 AM, Eli Zaretskii wrote: > >> Cc: johnw@gnu.org, mthl@gnu.org, emacs-devel@gnu.org > >> From: Paul Eggert <eggert@cs.ucla.edu> > >> Date: Tue, 8 Mar 2016 23:58:07 -0800 > >> > >>>> My own experience is otherwise. For the kinds of development I do, I rarely see ChangeLog screwups now, whereas I used to see them routinely. > >>> With or without git-merge-changelog? > >> Without. > > Then I understand why your experience is so negative. > > This appears to be implying that if I had installed git-merge-changelog > and configured Git to use it, I would have had a better experience. I > don't see how this would be so. As I said, I rarely do merges, so making > merges work better wouldn't help me. If you don't do merges, you won't ever see merge conflicts. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 18:27 ` Eli Zaretskii @ 2016-03-09 18:34 ` Paul Eggert 2016-03-09 18:39 ` Dmitry Gutov 2016-03-09 18:44 ` Eli Zaretskii 0 siblings, 2 replies; 454+ messages in thread From: Paul Eggert @ 2016-03-09 18:34 UTC (permalink / raw) To: Eli Zaretskii; +Cc: mthl, johnw, emacs-devel On 03/09/2016 10:27 AM, Eli Zaretskii wrote: > If you don't do merges, you won't ever see merge conflicts. I saw conflicts all the time when rebasing or applying patches. Perhaps these weren't "merge conflicts" in some technical sense, but they were just as much a hassle. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 18:34 ` Paul Eggert @ 2016-03-09 18:39 ` Dmitry Gutov 2016-03-09 18:55 ` Paul Eggert 2016-03-09 18:44 ` Eli Zaretskii 1 sibling, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-03-09 18:39 UTC (permalink / raw) To: Paul Eggert, Eli Zaretskii; +Cc: mthl, johnw, emacs-devel On 03/09/2016 08:34 PM, Paul Eggert wrote: > On 03/09/2016 10:27 AM, Eli Zaretskii wrote: >> If you don't do merges, you won't ever see merge conflicts. > > I saw conflicts all the time when rebasing or applying patches. Perhaps > these weren't "merge conflicts" in some technical sense, but they were > just as much a hassle. IIRC, git-merge-changelog is supposed to handle those cases, too. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 18:39 ` Dmitry Gutov @ 2016-03-09 18:55 ` Paul Eggert 0 siblings, 0 replies; 454+ messages in thread From: Paul Eggert @ 2016-03-09 18:55 UTC (permalink / raw) To: Dmitry Gutov, Eli Zaretskii; +Cc: mthl, johnw, emacs-devel On 03/09/2016 10:39 AM, Dmitry Gutov wrote: > IIRC, git-merge-changelog is supposed to handle those cases, too. I don't see how it can handle the case where I use GNU 'patch' instead of Git. I do that regularly, since GNU 'patch' sometimes works better for me than Git does. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-09 18:34 ` Paul Eggert 2016-03-09 18:39 ` Dmitry Gutov @ 2016-03-09 18:44 ` Eli Zaretskii 1 sibling, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 18:44 UTC (permalink / raw) To: Paul Eggert; +Cc: mthl, johnw, emacs-devel > Cc: johnw@gnu.org, mthl@gnu.org, emacs-devel@gnu.org > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Wed, 9 Mar 2016 10:34:46 -0800 > > On 03/09/2016 10:27 AM, Eli Zaretskii wrote: > > If you don't do merges, you won't ever see merge conflicts. > > I saw conflicts all the time when rebasing or applying patches. Perhaps > these weren't "merge conflicts" in some technical sense, but they were > just as much a hassle. git-merge-changelog supports rebase and cherry-picks as well. So your assumption that it won't help you is based on a mistake. As for applying patches, just don't apply the ChangeLog hunks. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-07 17:16 ` Should we restore manually maintained ChangeLogs (was: Is it time to drop ChangeLogs?) John Wiegley 2016-03-07 17:42 ` Should we restore manually maintained ChangeLogs Karl Fogel 2016-03-07 17:50 ` Should we restore manually maintained ChangeLogs (was: Is it time to drop ChangeLogs?) Eli Zaretskii @ 2016-03-07 18:05 ` Andy Moreton 2016-03-07 23:05 ` Dmitry Gutov 2 siblings, 1 reply; 454+ messages in thread From: Andy Moreton @ 2016-03-07 18:05 UTC (permalink / raw) To: emacs-devel On Mon 07 Mar 2016, John Wiegley wrote: >>>>>> Eli Zaretskii <eliz@gnu.org> writes: > >> But the discussion is not the main issue. We should actually go back to >> having an actively maintained ChangeLog file in the repository, something we >> stopped doing a year ago. If there's agreement to that, I rest my case. > > OK, let's shift this discussion in that direction again. > > Given that there are active developers who appreciate and use the ChangeLog > format, I don't think we are going to remove them just yet. Instead, the > question has been raised as to whether we should go back to maintaining > ChangeLog files manually, or continue to generate them from version control as > we do now. > > My vote is to continue generating from version control, and Eli would like to > go back to direct maintenance. What do others think? I have no opinion on whether the ChangeLog file should exist in the repo, but having git commit messages look like ChangeLog entries is actively harmful. Most of the content duplicates what the version control system can show you with greater accuracy, and describes only what was changed. Far too little attention is given in this format as to *why* a changeset was committed. Commit messages should show both what motivates the need for a patch (bugfix, new feature etc), and why the approach chosen is better than other possible designs. The Linux kernel documentation has a good description of what is needed in a commit message in section 2 of Documentation/SubmittingPatches. AndyM ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Should we restore manually maintained ChangeLogs 2016-03-07 18:05 ` Andy Moreton @ 2016-03-07 23:05 ` Dmitry Gutov 0 siblings, 0 replies; 454+ messages in thread From: Dmitry Gutov @ 2016-03-07 23:05 UTC (permalink / raw) To: Andy Moreton, emacs-devel On 03/07/2016 08:05 PM, Andy Moreton wrote: > Commit messages should show both what motivates the need for a patch > (bugfix, new feature etc), and why the approach chosen is better than > other possible designs. Not to say there's no place for improvement in our commit messages, but keeping the actual explanation separately (in a bug report, in in a mailing list message), and linking to it from the commit message is entirely fine in my book. In certain cases, it's hard to avoid that anyway (the explanation is too verbose/hard to summarize/etc). > The Linux kernel documentation has a good description of what is needed > in a commit message in section 2 of Documentation/SubmittingPatches. It's a fine description, but it's huge compared to the Change Log format description (thus raising the barrier of entry if we decide to use it officially), and ultimately, it leaves a lot up to the patch author's judgment anyway. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 16:30 ` Eli Zaretskii 2016-03-07 16:33 ` John Wiegley @ 2016-03-07 18:07 ` Óscar Fuentes 2016-03-07 18:13 ` Óscar Fuentes 2016-03-07 20:58 ` Eli Zaretskii 1 sibling, 2 replies; 454+ messages in thread From: Óscar Fuentes @ 2016-03-07 18:07 UTC (permalink / raw) To: emacs-devel Just adding my opinion... Eli Zaretskii <eliz@gnu.org> writes: > I agree completely. Writing a log entry in ChangeLog format is an > excellent opportunity for reflecting on the changeset, for summarizing > its intent and final shape, and for making sure nothing was left out. > Writing those entries teaches one discipline, the ability to describe > your changes in just enough detail, and facilitates communications > between members of the development team. And in loose teams such as > ours, good communications are everything. The same applies to writing a good commit log. I have the impression that the ChangeLog was acting as an excuse for poor commit logs, while the ChangeLog's contents could be categorized as `lame' on the best of cases. There is nothing on the ChangeLog that I can't get from the VC history, on steroids. However, having poor commit logs really hurts. Emacs has, probably, the worst record on commit log quality of all the major projects I contributed to. Writing ChangeLogs feels so pointless (and, hence, irritant) to me that on the past I refrained from submitting things to Emacs and keep them on my local branch. [snip] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 18:07 ` Is it time to drop ChangeLogs? Óscar Fuentes @ 2016-03-07 18:13 ` Óscar Fuentes 2016-03-07 20:59 ` Eli Zaretskii 2016-03-07 20:58 ` Eli Zaretskii 1 sibling, 1 reply; 454+ messages in thread From: Óscar Fuentes @ 2016-03-07 18:13 UTC (permalink / raw) To: emacs-devel Óscar Fuentes <ofv@wanadoo.es> writes: > There is nothing on the ChangeLog that I can't get from the VC > history, on steroids. Forgot to mention that we could try with adding to VC functions for easily obtaining the information people get from the ChangeLogs, to the benefit of those who are not familiarized with Git. We could also emphasize the tools we already have. `vc-region-history', for instance. Try to beat that with the ChangeLog. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 18:13 ` Óscar Fuentes @ 2016-03-07 20:59 ` Eli Zaretskii 2016-03-07 21:10 ` Óscar Fuentes 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-07 20:59 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel > From: Óscar Fuentes <ofv@wanadoo.es> > Date: Mon, 07 Mar 2016 19:13:25 +0100 > > Óscar Fuentes <ofv@wanadoo.es> writes: > > > There is nothing on the ChangeLog that I can't get from the VC > > history, on steroids. > > Forgot to mention that we could try with adding to VC functions for > easily obtaining the information people get from the ChangeLogs, to the > benefit of those who are not familiarized with Git. > > We could also emphasize the tools we already have. `vc-region-history', > for instance. Try to beat that with the ChangeLog. You are not addressing any of the problems we have with the existing practice, which attempted to do exactly that. The current situation is unacceptable. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 20:59 ` Eli Zaretskii @ 2016-03-07 21:10 ` Óscar Fuentes 2016-03-07 21:18 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Óscar Fuentes @ 2016-03-07 21:10 UTC (permalink / raw) To: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> Forgot to mention that we could try with adding to VC functions for >> easily obtaining the information people get from the ChangeLogs, to the >> benefit of those who are not familiarized with Git. >> >> We could also emphasize the tools we already have. `vc-region-history', >> for instance. Try to beat that with the ChangeLog. > > You are not addressing any of the problems we have with the existing > practice, which attempted to do exactly that. > > The current situation is unacceptable. Of course I'm addressing the problem: ditch changelogs, require quality log messages and put to good use our VC tool. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:10 ` Óscar Fuentes @ 2016-03-07 21:18 ` Eli Zaretskii 2016-03-07 21:29 ` Óscar Fuentes 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-07 21:18 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel > From: Óscar Fuentes <ofv@wanadoo.es> > Date: Mon, 07 Mar 2016 22:10:42 +0100 > > > You are not addressing any of the problems we have with the existing > > practice, which attempted to do exactly that. > > > > The current situation is unacceptable. > > Of course I'm addressing the problem: ditch changelogs, require quality > log messages and put to good use our VC tool. Requiring something that is not enforceable, with mistakes that cannot be corrected, is exactly what we were doing for the past year. That's what isn't working. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:18 ` Eli Zaretskii @ 2016-03-07 21:29 ` Óscar Fuentes 2016-03-07 21:56 ` Clément Pit--Claudel ` (2 more replies) 0 siblings, 3 replies; 454+ messages in thread From: Óscar Fuentes @ 2016-03-07 21:29 UTC (permalink / raw) To: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> Of course I'm addressing the problem: ditch changelogs, require quality >> log messages and put to good use our VC tool. > > Requiring something that is not enforceable, with mistakes that > cannot be corrected, Introduce code reviews. Don't give commit access to the "golden" branches to everyone, just to a few top contributors and reviewers. [snip] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:29 ` Óscar Fuentes @ 2016-03-07 21:56 ` Clément Pit--Claudel 2016-03-07 22:19 ` Óscar Fuentes 2016-03-08 3:44 ` Eli Zaretskii 2016-03-08 3:25 ` Code reviews (was: Is it time to drop ChangeLogs?) Stefan Monnier 2016-03-08 3:39 ` Is it time to drop ChangeLogs? Eli Zaretskii 2 siblings, 2 replies; 454+ messages in thread From: Clément Pit--Claudel @ 2016-03-07 21:56 UTC (permalink / raw) To: emacs-devel [-- Attachment #1.1: Type: text/plain, Size: 596 bytes --] On 03/07/2016 04:29 PM, Óscar Fuentes wrote: > Eli Zaretskii <eliz@gnu.org> writes: > >>> >> Of course I'm addressing the problem: ditch changelogs, require quality >>> >> log messages and put to good use our VC tool. >> > >> > Requiring something that is not enforceable, with mistakes that >> > cannot be corrected, > Introduce code reviews. Don't give commit access to the "golden" > branches to everyone, just to a few top contributors and reviewers. Wouldn't that be a very big change in the way Emacs development works, much bigger than deciding for or against Changelogs? [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:56 ` Clément Pit--Claudel @ 2016-03-07 22:19 ` Óscar Fuentes 2016-03-08 3:45 ` Eli Zaretskii 2016-03-08 3:44 ` Eli Zaretskii 1 sibling, 1 reply; 454+ messages in thread From: Óscar Fuentes @ 2016-03-07 22:19 UTC (permalink / raw) To: emacs-devel Clément Pit--Claudel <clement.pit@gmail.com> writes: >> Introduce code reviews. Don't give commit access to the "golden" >> branches to everyone, just to a few top contributors and reviewers. > > Wouldn't that be a very big change in the way Emacs development works, > much bigger than deciding for or against Changelogs? Not really. Emacs always accepted patches from casual contributors. Another option for correcting errors on commit logs is `git notes', but I don't know about its implications. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 22:19 ` Óscar Fuentes @ 2016-03-08 3:45 ` Eli Zaretskii 2016-03-08 4:34 ` Óscar Fuentes 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 3:45 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel > From: Óscar Fuentes <ofv@wanadoo.es> > Date: Mon, 07 Mar 2016 23:19:03 +0100 > > Another option for correcting errors on commit logs is `git notes', but > I don't know about its implications. Nobody does. We shouldn't consider any more experiments in this area until someone else uses these methods and proves they are viable in our case. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 3:45 ` Eli Zaretskii @ 2016-03-08 4:34 ` Óscar Fuentes 2016-03-08 6:16 ` David Engster 2016-03-08 15:58 ` Eli Zaretskii 0 siblings, 2 replies; 454+ messages in thread From: Óscar Fuentes @ 2016-03-08 4:34 UTC (permalink / raw) To: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> Another option for correcting errors on commit logs is `git notes', but >> I don't know about its implications. > > Nobody does. We shouldn't consider any more experiments in this area > until someone else uses these methods and proves they are viable in > our case. How could *someone else* prove the viability of something in *our* case? You always can argue that his project is not Emacs... This is like your argument that Emacs should keep using ChangeLogs because gcc uses ChangeLogs... and gcc should keep using ChangeLogs because Emacs uses ChangeLogs, right?. `git notes' is a documented feature available since a long time ago. It can turn the immutability of the commit log into a non-issue if you wish to produce a proofread ChangeLog to include in the tarball. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 4:34 ` Óscar Fuentes @ 2016-03-08 6:16 ` David Engster 2016-03-08 13:53 ` Óscar Fuentes 2016-03-08 15:58 ` Eli Zaretskii 1 sibling, 1 reply; 454+ messages in thread From: David Engster @ 2016-03-08 6:16 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel Óscar Fuentes writes: > `git notes' is a documented feature available since a long time ago. It > can turn the immutability of the commit log into a non-issue if you wish > to produce a proofread ChangeLog to include in the tarball. I can't imagine that you have ever really used 'git notes'. It's a hack with terrible usability and no merge support. -David ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 6:16 ` David Engster @ 2016-03-08 13:53 ` Óscar Fuentes 2016-03-08 17:16 ` David Engster 0 siblings, 1 reply; 454+ messages in thread From: Óscar Fuentes @ 2016-03-08 13:53 UTC (permalink / raw) To: emacs-devel David Engster <deng@randomsample.de> writes: > Óscar Fuentes writes: >> `git notes' is a documented feature available since a long time ago. It >> can turn the immutability of the commit log into a non-issue if you wish >> to produce a proofread ChangeLog to include in the tarball. > > I can't imagine that you have ever really used 'git notes'. I didn't. > It's a hack with terrible usability This is very vague. Is it good enough for solving our problem? (providing a fixed commit message in case the original one is not correct.) > and no merge support. What's wrong with `git notes merge' ? ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 13:53 ` Óscar Fuentes @ 2016-03-08 17:16 ` David Engster 2016-03-08 20:09 ` Óscar Fuentes 0 siblings, 1 reply; 454+ messages in thread From: David Engster @ 2016-03-08 17:16 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel Óscar Fuentes writes: > David Engster <deng@randomsample.de> writes: > >> Óscar Fuentes writes: >>> `git notes' is a documented feature available since a long time ago. It >>> can turn the immutability of the commit log into a non-issue if you wish >>> to produce a proofread ChangeLog to include in the tarball. >> >> I can't imagine that you have ever really used 'git notes'. > > I didn't. Then please do. Just take one of your private repositories and add a note to the current commit. And then, just for fun, read the git-notes man page and figure out how to push that note to your server (seriously: the word 'push' is not mentioned once, but note that they *do* tell you how to create a binary note blob, which sure is nifty, even if you'll never figure out how to push it). >> It's a hack with terrible usability > > This is very vague. Is it good enough for solving our problem? > (providing a fixed commit message in case the original one is not > correct.) https://git-scm.com/blog/2010/08/25/notes.html See paragraphs "Sharing Notes" (which also includes the answer to the above), "Getting Notes" and "Collaborating on Notes", and decide for yourself. Yes, that page is from over 5 years ago, but note that there is still no 'git push --notes'. If you want to know why, see for instance http://permalink.gmane.org/gmane.comp.version-control.git/235597 >> and no merge support. > > What's wrong with `git notes merge' ? See the git-notes man page and read section "Notes on merge strategies" (the one that begins with 'The default notes merge strategy is "manual"'). The above gmane-link also has a script attached which shows how to resolve a conflict with 'git notes merge'. I strongly suggest to once go through it and see what it involves. 'git notes' is a quick hack that somehow survived until today, and now it's too late to remove it. It is barely OK for things like attaching test results from your CI server. It's pretty much useless for everything else. For correcting commit messages, it'd be much easier to cook up something for ourselves (like simply a file SHA1:NEW_COMMIT_MESSAGE). -David ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 17:16 ` David Engster @ 2016-03-08 20:09 ` Óscar Fuentes 0 siblings, 0 replies; 454+ messages in thread From: Óscar Fuentes @ 2016-03-08 20:09 UTC (permalink / raw) To: emacs-devel David Engster <deng@randomsample.de> writes: [about git notes] Thanks David for the informative post. Rigth now I have no time to read the references you listed, but I'll do ASAP. This picked my curiosity. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 4:34 ` Óscar Fuentes 2016-03-08 6:16 ` David Engster @ 2016-03-08 15:58 ` Eli Zaretskii 2016-03-08 20:00 ` Óscar Fuentes 1 sibling, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 15:58 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel > From: Óscar Fuentes <ofv@wanadoo.es> > Date: Tue, 08 Mar 2016 05:34:10 +0100 > > >> Another option for correcting errors on commit logs is `git notes', but > >> I don't know about its implications. > > > > Nobody does. We shouldn't consider any more experiments in this area > > until someone else uses these methods and proves they are viable in > > our case. > > How could *someone else* prove the viability of something in *our* case? By coming up with a procedure which we can study and decide whether it fits us. > You always can argue that his project is not Emacs... I can, but why would I want to? The opinions are not pre-determined, they are based on study and in this case also on a year-long experience of actually using a procedure. > `git notes' is a documented feature available since a long time ago. It > can turn the immutability of the commit log into a non-issue if you wish > to produce a proofread ChangeLog to include in the tarball. We need a more detailed proposal than this, TIA. David says "git notes" is not a solution; if notes don't support merging, then I tend to think he is right. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 15:58 ` Eli Zaretskii @ 2016-03-08 20:00 ` Óscar Fuentes 0 siblings, 0 replies; 454+ messages in thread From: Óscar Fuentes @ 2016-03-08 20:00 UTC (permalink / raw) To: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> `git notes' is a documented feature available since a long time ago. It >> can turn the immutability of the commit log into a non-issue if you wish >> to produce a proofread ChangeLog to include in the tarball. > > We need a more detailed proposal than this, TIA. David says "git > notes" is not a solution; if notes don't support merging, then I tend > to think he is right. But they do support merging. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:56 ` Clément Pit--Claudel 2016-03-07 22:19 ` Óscar Fuentes @ 2016-03-08 3:44 ` Eli Zaretskii 1 sibling, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 3:44 UTC (permalink / raw) To: Clément Pit--Claudel; +Cc: emacs-devel > From: Clément Pit--Claudel <clement.pit@gmail.com> > Date: Mon, 7 Mar 2016 16:56:17 -0500 > > > Introduce code reviews. Don't give commit access to the "golden" > > branches to everyone, just to a few top contributors and reviewers. > > Wouldn't that be a very big change in the way Emacs development works, much bigger than deciding for or against Changelogs? Of course, it will. More importantly, we simply don't have the resources for that. The result will be a total slowdown of development, a never-ending patch queue, and burn-out of lead developers. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Code reviews (was: Is it time to drop ChangeLogs?) 2016-03-07 21:29 ` Óscar Fuentes 2016-03-07 21:56 ` Clément Pit--Claudel @ 2016-03-08 3:25 ` Stefan Monnier 2016-03-08 4:15 ` Code reviews Óscar Fuentes ` (2 more replies) 2016-03-08 3:39 ` Is it time to drop ChangeLogs? Eli Zaretskii 2 siblings, 3 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 3:25 UTC (permalink / raw) To: emacs-devel > Introduce code reviews. Don't give commit access to the "golden" > branches to everyone, just to a few top contributors and reviewers. We already have a fair bit of patches submitted and lingering in limbo forever until someone (almost always the same someone, BTW) finally loses hope that some of the other contributors take care of it. If we could switch to a system where every patch is reviewed before commit, that'd be great. My own impression is that it will kill the development pace because too few people are willing to spend the corresponding efforts. That's why I've followed a practice of giving out write access very liberally, with "post-commit spot-check reviews" instead. Indeed, it means that errors in commit messages can't be fixed (we can fix them in the ChangeLog files, admittedly, but since I don't use them it doesn't help me). Maybe we could have a half-way system, where commits are pushed to a branch that is "not fast-forward-only", and this branch is then auto-merged to the real (fast-forward-only) master branch after a delay (one day, maybe?) to give time to fix mess ups before they're cast in stone. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Code reviews 2016-03-08 3:25 ` Code reviews (was: Is it time to drop ChangeLogs?) Stefan Monnier @ 2016-03-08 4:15 ` Óscar Fuentes 2016-03-08 5:30 ` Stefan Monnier 2016-03-08 8:48 ` Phillip Lord 2016-03-08 15:54 ` Code reviews (was: Is it time to drop ChangeLogs?) Eli Zaretskii 2 siblings, 1 reply; 454+ messages in thread From: Óscar Fuentes @ 2016-03-08 4:15 UTC (permalink / raw) To: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >> Introduce code reviews. Don't give commit access to the "golden" >> branches to everyone, just to a few top contributors and reviewers. > > We already have a fair bit of patches submitted and lingering in limbo > forever until someone (almost always the same someone, BTW) finally > loses hope that some of the other contributors take care of it. > > If we could switch to a system where every patch is reviewed before > commit, that'd be great. My own impression is that it will kill the > development pace because too few people are willing to spend the > corresponding efforts. > > That's why I've followed a practice of giving out write access very > liberally, with "post-commit spot-check reviews" instead. Indeed, it > means that errors in commit messages can't be fixed (we can fix them in > the ChangeLog files, admittedly, but since I don't use them it doesn't > help me). > > Maybe we could have a half-way system, where commits are pushed to > a branch that is "not fast-forward-only", Something like this is what I meant with "Don't give commit access to the golden branches to everyone". Anyways, you can't expect having high quality commit logs (or VC history at all, take a look at the DAG to see what I mean) and give write access liberally. Having ChangeLogs as a compromise is absurd: you have to proof-read and fix them anyway. Correct or reject the real thing (the commit) instead. I guess that asking for a review queue is out of the question, although I'm afraid that it would not turn to be a good thing since some people here tend to be quite picky when reviewing foreign contributions (with the best of the intentions, but I can attest from personal experience that being the subject of one of those reviews can be disheartening.) [snip] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Code reviews 2016-03-08 4:15 ` Code reviews Óscar Fuentes @ 2016-03-08 5:30 ` Stefan Monnier 0 siblings, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 5:30 UTC (permalink / raw) To: emacs-devel > Something like this is what I meant with "Don't give commit access to > the golden branches to everyone". Anyways, you can't expect having high > quality commit logs (or VC history at all, take a look at the DAG to see > what I mean) and give write access liberally. Indeed (and yes, the DAG shape is another one of those problems, made worse by the fact that Git doesn't help us). > Having ChangeLogs as a compromise is absurd: you have to proof-read > and fix them anyway. Correct or reject the real thing (the > commit) instead. Agreed. My choice has been to live with unfixed (and hence lower-quality) commit messages [even if some people here do make the effort to fix them in the ChangeLog, I don't benefit from it because I don't use the ChangeLog]. > I guess that asking for a review queue is out of the question, although > I'm afraid that it would not turn to be a good thing since some people > here tend to be quite picky when reviewing foreign contributions True enough on both counts. A code review system should allow both to "reject a commit and ask the author to provide a new patch" and to "fix the commit ourselves" since in many cases it's easier both for the contributors and the reviewer. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Code reviews 2016-03-08 3:25 ` Code reviews (was: Is it time to drop ChangeLogs?) Stefan Monnier 2016-03-08 4:15 ` Code reviews Óscar Fuentes @ 2016-03-08 8:48 ` Phillip Lord 2016-03-08 12:09 ` Yuri Khan ` (3 more replies) 2016-03-08 15:54 ` Code reviews (was: Is it time to drop ChangeLogs?) Eli Zaretskii 2 siblings, 4 replies; 454+ messages in thread From: Phillip Lord @ 2016-03-08 8:48 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >> Introduce code reviews. Don't give commit access to the "golden" >> branches to everyone, just to a few top contributors and reviewers. > > We already have a fair bit of patches submitted and lingering in limbo > forever until someone (almost always the same someone, BTW) finally > loses hope that some of the other contributors take care of it. > > If we could switch to a system where every patch is reviewed before > commit, that'd be great. My own impression is that it will kill the > development pace because too few people are willing to spend the > corresponding efforts. I think that there is a half-way house here. You extensively reviewed the first change that I made to the core of Emacs -- as someone who didn't know the internals or, indeed, even C, there is no way on earth that I could have made that commit without. Other commits are less of problem. Giving people different permissions on different branches seems to make sense. Overtime, people move toward master/emacs-25. Having said that, while I found your feedback and the overall experience very positive, I did feel the lack of a nicer pull/merge request system. Tools such as gitlab or gerrit would have helped. > That's why I've followed a practice of giving out write access very > liberally, with "post-commit spot-check reviews" instead. Indeed, it > means that errors in commit messages can't be fixed (we can fix them in > the ChangeLog files, admittedly, but since I don't use them it doesn't > help me). > > Maybe we could have a half-way system, where commits are pushed to > a branch that is "not fast-forward-only", and this branch is then > auto-merged to the real (fast-forward-only) master branch after a delay > (one day, maybe?) to give time to fix mess ups before they're cast > in stone. I think that this would require some considerable co-ordination. If I push a broken commit to devel branch, and then you fix this commit through rebase, my copy of the branch (and everyone elses) is now broken. I'm pretty sure that this kind of fix up can only happen on a feature branch in a sane way. Phil ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Code reviews 2016-03-08 8:48 ` Phillip Lord @ 2016-03-08 12:09 ` Yuri Khan 2016-03-08 13:27 ` Stefan Monnier ` (2 subsequent siblings) 3 siblings, 0 replies; 454+ messages in thread From: Yuri Khan @ 2016-03-08 12:09 UTC (permalink / raw) To: Phillip Lord; +Cc: Stefan Monnier, Emacs developers On Tue, Mar 8, 2016 at 2:48 PM, Phillip Lord <phillip.lord@russet.org.uk> wrote: > I think that this would require some considerable co-ordination. If I > push a broken commit to devel branch, and then you fix this commit > through rebase, my copy of the branch (and everyone elses) is now > broken. I'm pretty sure that this kind of fix up can only happen on a > feature branch in a sane way. Fixups by rebase work if everybody agrees to never pull+merge and always does a pull+rebase instead. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Code reviews 2016-03-08 8:48 ` Phillip Lord 2016-03-08 12:09 ` Yuri Khan @ 2016-03-08 13:27 ` Stefan Monnier 2016-03-09 15:06 ` Phillip Lord 2016-03-08 16:09 ` Eli Zaretskii 2016-03-10 10:16 ` Andreas Röhler 3 siblings, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 13:27 UTC (permalink / raw) To: Phillip Lord; +Cc: emacs-devel >> Maybe we could have a half-way system, where commits are pushed to >> a branch that is "not fast-forward-only", and this branch is then >> auto-merged to the real (fast-forward-only) master branch after a delay >> (one day, maybe?) to give time to fix mess ups before they're cast >> in stone. > I think that this would require some considerable co-ordination. If I > push a broken commit to devel branch, and then you fix this commit > through rebase, my copy of the branch (and everyone elses) is now > broken. I'm pretty sure that this kind of fix up can only happen on a > feature branch in a sane way. I think you misunderstood me: what I was thinking about in the quoted text is a system where you submit a pull request to a review queue (not to some kind of shared "proto-master" branch), and those requests are automatically accepted after some timeout. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Code reviews 2016-03-08 13:27 ` Stefan Monnier @ 2016-03-09 15:06 ` Phillip Lord 0 siblings, 0 replies; 454+ messages in thread From: Phillip Lord @ 2016-03-09 15:06 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >>> Maybe we could have a half-way system, where commits are pushed to >>> a branch that is "not fast-forward-only", and this branch is then >>> auto-merged to the real (fast-forward-only) master branch after a delay >>> (one day, maybe?) to give time to fix mess ups before they're cast >>> in stone. >> I think that this would require some considerable co-ordination. If I >> push a broken commit to devel branch, and then you fix this commit >> through rebase, my copy of the branch (and everyone elses) is now >> broken. I'm pretty sure that this kind of fix up can only happen on a >> feature branch in a sane way. > > I think you misunderstood me: what I was thinking about in the quoted > text is a system where you submit a pull request to a review queue (not > to some kind of shared "proto-master" branch), and those requests are > automatically accepted after some timeout. Oh. You mean "where commits are pushed to a branch" as in "some branch" rather than "all commits are pushed to a specific branch". So, essentially a PR system with a time out. That would be quite nice. Phil ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Code reviews 2016-03-08 8:48 ` Phillip Lord 2016-03-08 12:09 ` Yuri Khan 2016-03-08 13:27 ` Stefan Monnier @ 2016-03-08 16:09 ` Eli Zaretskii 2016-03-09 15:09 ` Phillip Lord 2016-03-10 10:16 ` Andreas Röhler 3 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 16:09 UTC (permalink / raw) To: Phillip Lord; +Cc: monnier, emacs-devel > From: phillip.lord@russet.org.uk (Phillip Lord) > Date: Tue, 08 Mar 2016 08:48:56 +0000 > Cc: emacs-devel@gnu.org > > Giving people different permissions on different branches seems to make > sense. Overtime, people move toward master/emacs-25. AFAIK, Git (or is it Savannah?) doesn't support such granularity. > > Maybe we could have a half-way system, where commits are pushed to > > a branch that is "not fast-forward-only", and this branch is then > > auto-merged to the real (fast-forward-only) master branch after a delay > > (one day, maybe?) to give time to fix mess ups before they're cast > > in stone. > > I think that this would require some considerable co-ordination. If I > push a broken commit to devel branch, and then you fix this commit > through rebase, my copy of the branch (and everyone elses) is now > broken. Stefan was talking about merging, not rebasing. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Code reviews 2016-03-08 16:09 ` Eli Zaretskii @ 2016-03-09 15:09 ` Phillip Lord 0 siblings, 0 replies; 454+ messages in thread From: Phillip Lord @ 2016-03-09 15:09 UTC (permalink / raw) To: Eli Zaretskii; +Cc: monnier, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: phillip.lord@russet.org.uk (Phillip Lord) >> Date: Tue, 08 Mar 2016 08:48:56 +0000 >> Cc: emacs-devel@gnu.org >> >> Giving people different permissions on different branches seems to make >> sense. Overtime, people move toward master/emacs-25. > > AFAIK, Git (or is it Savannah?) doesn't support such granularity. Yes, it does, through hooks. I think, most people just use gitolite for the purpose. >> > Maybe we could have a half-way system, where commits are pushed to >> > a branch that is "not fast-forward-only", and this branch is then >> > auto-merged to the real (fast-forward-only) master branch after a delay >> > (one day, maybe?) to give time to fix mess ups before they're cast >> > in stone. >> >> I think that this would require some considerable co-ordination. If I >> push a broken commit to devel branch, and then you fix this commit >> through rebase, my copy of the branch (and everyone elses) is now >> broken. > > Stefan was talking about merging, not rebasing. I think he was talking about both. "fix mess ups" sounds like a rebase to me. But I was confused about his overall workflow. Phil ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Code reviews 2016-03-08 8:48 ` Phillip Lord ` (2 preceding siblings ...) 2016-03-08 16:09 ` Eli Zaretskii @ 2016-03-10 10:16 ` Andreas Röhler 3 siblings, 0 replies; 454+ messages in thread From: Andreas Röhler @ 2016-03-10 10:16 UTC (permalink / raw) To: emacs-devel Here just my two cents: WRT logs: code itself as basic reference, i.e. using rather the diffs than second sources like log-messages. In favor of dropping the changelog. WRT code-review: More important seems a rigid test-policy, i.e. no commit without tests passed. Focus on analyze why things got broken, how the bug could pass the tests. Cheers, Andreas ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Code reviews (was: Is it time to drop ChangeLogs?) 2016-03-08 3:25 ` Code reviews (was: Is it time to drop ChangeLogs?) Stefan Monnier 2016-03-08 4:15 ` Code reviews Óscar Fuentes 2016-03-08 8:48 ` Phillip Lord @ 2016-03-08 15:54 ` Eli Zaretskii 2016-03-08 16:21 ` Code reviews Stefan Monnier 2 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 15:54 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel > From: Stefan Monnier <monnier@iro.umontreal.ca> > Date: Mon, 07 Mar 2016 22:25:12 -0500 > > If we could switch to a system where every patch is reviewed before > commit, that'd be great. My own impression is that it will kill the > development pace because too few people are willing to spend the > corresponding efforts. Agreed. For my part, I can say that I simply don't have enough free time to review more patches than I do (which is an abysmal little). > That's why I've followed a practice of giving out write access very > liberally, with "post-commit spot-check reviews" instead. Indeed, it > means that errors in commit messages can't be fixed (we can fix them in > the ChangeLog files, admittedly, but since I don't use them it doesn't > help me). Post-commit reviews also take time. Do you have an estimation of how much time per day this takes? > Maybe we could have a half-way system, where commits are pushed to > a branch that is "not fast-forward-only", and this branch is then > auto-merged to the real (fast-forward-only) master branch after a delay > (one day, maybe?) to give time to fix mess ups before they're cast > in stone. A day is nowhere near enough. IME, a bad commit pushed to master takes up to a week to be discovered. More generally, the problem with such a branch is that it won't be much different from pushing to master, except in rare cases that it breaks the build, and even that can only be avoided if we set up some kind of CI system that continuously builds that branch on the main supported platforms. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Code reviews 2016-03-08 15:54 ` Code reviews (was: Is it time to drop ChangeLogs?) Eli Zaretskii @ 2016-03-08 16:21 ` Stefan Monnier 2016-03-08 16:51 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 16:21 UTC (permalink / raw) To: emacs-devel >> That's why I've followed a practice of giving out write access very >> liberally, with "post-commit spot-check reviews" instead. Indeed, it > Post-commit reviews also take time. Indeed. But notice the "spot-check" part: only some of the commits are actually (post-commit) reviewed. >> Maybe we could have a half-way system, where commits are pushed to >> a branch that is "not fast-forward-only", and this branch is then >> auto-merged to the real (fast-forward-only) master branch after a delay >> (one day, maybe?) to give time to fix mess ups before they're cast >> in stone. > A day is nowhere near enough. IME, a bad commit pushed to master > takes up to a week to be discovered. Maybe the delay should depend on the submitter. An infinite delay for first-submitters and a 0 delay for those submitters we trust to carefully review they commit messages before pushing (clearly, I wouldn't be one of them), and all kinds of other values in-between. > More generally, the problem with such a branch is that it won't be > much different from pushing to master, except in rare cases that it > breaks the build, and even that can only be avoided if we set up some > kind of CI system that continuously builds that branch on the main > supported platforms. The review queue could be used for code-quality reviews indeed, but I was thinking here about focusing on the commit-message reviewing (since we can fix the code after the fact with additional commits, whereas we can't fix commit messages after the fact, thanks to Git implementors's short-sightedness). Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Code reviews 2016-03-08 16:21 ` Code reviews Stefan Monnier @ 2016-03-08 16:51 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 16:51 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel > From: Stefan Monnier <monnier@iro.umontreal.ca> > Date: Tue, 08 Mar 2016 11:21:42 -0500 > > I was thinking here about focusing on the commit-message reviewing That would better be served by a separate mailing list where patches are posted for such a review. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 21:29 ` Óscar Fuentes 2016-03-07 21:56 ` Clément Pit--Claudel 2016-03-08 3:25 ` Code reviews (was: Is it time to drop ChangeLogs?) Stefan Monnier @ 2016-03-08 3:39 ` Eli Zaretskii 2016-03-08 4:23 ` Óscar Fuentes 2 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 3:39 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel > From: Óscar Fuentes <ofv@wanadoo.es> > Date: Mon, 07 Mar 2016 22:29:27 +0100 > > Eli Zaretskii <eliz@gnu.org> writes: > > >> Of course I'm addressing the problem: ditch changelogs, require quality > >> log messages and put to good use our VC tool. > > > > Requiring something that is not enforceable, with mistakes that > > cannot be corrected, > > Introduce code reviews. Don't give commit access to the "golden" > branches to everyone, just to a few top contributors and reviewers. We don't have manpower for that. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 3:39 ` Is it time to drop ChangeLogs? Eli Zaretskii @ 2016-03-08 4:23 ` Óscar Fuentes 2016-03-08 15:57 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Óscar Fuentes @ 2016-03-08 4:23 UTC (permalink / raw) To: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> Introduce code reviews. Don't give commit access to the "golden" >> branches to everyone, just to a few top contributors and reviewers. > > We don't have manpower for that. I find perplexing that we have manpower for reviewing ChangeLogs but not for reviewing commit logs *instead*. And is it so super-important to have typo-free commit logs? We are not even using `git notes'. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 4:23 ` Óscar Fuentes @ 2016-03-08 15:57 ` Eli Zaretskii 2016-03-08 16:39 ` Nikolaus Rath 2016-03-08 19:57 ` Óscar Fuentes 0 siblings, 2 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 15:57 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel > From: Óscar Fuentes <ofv@wanadoo.es> > Date: Tue, 08 Mar 2016 05:23:46 +0100 > > >> Introduce code reviews. Don't give commit access to the "golden" > >> branches to everyone, just to a few top contributors and reviewers. > > > > We don't have manpower for that. > > I find perplexing that we have manpower for reviewing ChangeLogs but not > for reviewing commit logs *instead*. I'm surprised that you find it perplexing. Log messages are much shorter than code diffs, and much simpler to read and understand. It takes a few seconds to read them; reading a code patch takes much more, typically needs to consult the surrounding and related code, etc. So code review takes orders of magnitude more time than reviewing the corresponding log entries. > And is it so super-important to have typo-free commit logs? Typos is the least of our problems. But yes, it's important: if you start by forgiving typos, you end with unhelpful and uninformative log messages. > We are not even using `git notes'. No one came up with a detailed procedure for doing that. If you can propose something that works, please do. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 15:57 ` Eli Zaretskii @ 2016-03-08 16:39 ` Nikolaus Rath 2016-03-08 19:57 ` Óscar Fuentes 1 sibling, 0 replies; 454+ messages in thread From: Nikolaus Rath @ 2016-03-08 16:39 UTC (permalink / raw) To: emacs-devel On Mar 08 2016, Eli Zaretskii <eliz@gnu.org> wrote: >> From: Óscar Fuentes <ofv@wanadoo.es> >> Date: Tue, 08 Mar 2016 05:23:46 +0100 >> >> >> Introduce code reviews. Don't give commit access to the "golden" >> >> branches to everyone, just to a few top contributors and reviewers. >> > >> > We don't have manpower for that. >> >> I find perplexing that we have manpower for reviewing ChangeLogs but not >> for reviewing commit logs *instead*. > > I'm surprised that you find it perplexing. > > Log messages are much shorter than code diffs, and much simpler to > read and understand. Óscar was talking about reviewing the *commit message* instead of the changelog, not about reviewing the entire commit (including the diff) instead. Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 15:57 ` Eli Zaretskii 2016-03-08 16:39 ` Nikolaus Rath @ 2016-03-08 19:57 ` Óscar Fuentes 2016-03-08 20:56 ` David Caldwell 1 sibling, 1 reply; 454+ messages in thread From: Óscar Fuentes @ 2016-03-08 19:57 UTC (permalink / raw) To: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: Óscar Fuentes <ofv@wanadoo.es> >> Date: Tue, 08 Mar 2016 05:23:46 +0100 >> >> >> Introduce code reviews. Don't give commit access to the "golden" >> >> branches to everyone, just to a few top contributors and reviewers. >> > >> > We don't have manpower for that. >> >> I find perplexing that we have manpower for reviewing ChangeLogs but not >> for reviewing commit logs *instead*. > > I'm surprised that you find it perplexing. > > Log messages are much shorter than code diffs, It is not necessary to review the diff (except for newcomers, possibly, but that's an added bonus.) [snip] >> And is it so super-important to have typo-free commit logs? > > Typos is the least of our problems. But yes, it's important: if you > start by forgiving typos, you end with unhelpful and uninformative log > messages. Please note that typos are usually corrected by someone else, not by the committer. AFAIR so far nobody received a warning for too much typos, but everybody will see as a reasonable procedure to warn a contributor for poor log messages. Which, as I said elsewhere, Emacs *already* has plenty. I can't imagine what can be worse than what we have now except for leaving a blank commit log or filling it with M-x cookie. I'll reiterate my impression about ChangeLogs being a strong factor on the lack of useful content of Emacs' commit messages. >> We are not even using `git notes'. > > No one came up with a detailed procedure for doing that. If you can > propose something that works, please do. It's simple: put the corrected commit log on a note. When the ChangeLogs are generated, if a commit has a note, use the note instead of the commit log message. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 19:57 ` Óscar Fuentes @ 2016-03-08 20:56 ` David Caldwell 2016-03-08 21:16 ` Dmitry Gutov 2016-03-08 21:33 ` Óscar Fuentes 0 siblings, 2 replies; 454+ messages in thread From: David Caldwell @ 2016-03-08 20:56 UTC (permalink / raw) To: Óscar Fuentes, emacs-devel [-- Attachment #1: Type: text/plain, Size: 682 bytes --] On 3/8/16 11:57 AM, Óscar Fuentes wrote: > Eli Zaretskii <eliz@gnu.org> writes: >>> From: Óscar Fuentes <ofv@wanadoo.es> >>> We are not even using `git notes'. >> >> No one came up with a detailed procedure for doing that. If you can >> propose something that works, please do. > > It's simple: put the corrected commit log on a note. When the ChangeLogs > are generated, if a commit has a note, use the note instead of the > commit log message. Since notes seem like a no-go, what about taking the same approach but using an empty commit to do it (`git commit --allow-empty`)? That way it gets pushed and merged between branches just like normal. -David [-- Attachment #2: S/MIME Cryptographic Signature --] [-- Type: application/pkcs7-signature, Size: 3819 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 20:56 ` David Caldwell @ 2016-03-08 21:16 ` Dmitry Gutov 2016-03-08 21:23 ` John Wiegley 2016-03-08 21:27 ` David Caldwell 2016-03-08 21:33 ` Óscar Fuentes 1 sibling, 2 replies; 454+ messages in thread From: Dmitry Gutov @ 2016-03-08 21:16 UTC (permalink / raw) To: David Caldwell, Óscar Fuentes, emacs-devel On 03/08/2016 10:56 PM, David Caldwell wrote: > Since notes seem like a no-go, what about taking the same approach but > using an empty commit to do it (`git commit --allow-empty`)? That way it > gets pushed and merged between branches just like normal. How would such commit indicate a relation to an existing commit? And after making it, you can't easily edit the result, you can only redo it fully. How about putting all corrections as plain files in a subdirectory? Each file will be named after a commit whose message it's "changing". IIRC, I've seen such idea mentioned before, and it seems like it should work. We could even implement integration with vc-print-log without too much difficulty. The main thing to solve is the cherrypick commits (does the correction apply to whose? always?); but as long as cherrypicks include the references to their parents in the message, it should be workable, one way or another. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 21:16 ` Dmitry Gutov @ 2016-03-08 21:23 ` John Wiegley 2016-03-08 21:26 ` Dmitry Gutov 2016-03-08 21:59 ` Giuseppe Scrivano 2016-03-08 21:27 ` David Caldwell 1 sibling, 2 replies; 454+ messages in thread From: John Wiegley @ 2016-03-08 21:23 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Óscar Fuentes, emacs-devel, David Caldwell >>>>> Dmitry Gutov <dgutov@yandex.ru> writes: > On 03/08/2016 10:56 PM, David Caldwell wrote: >> Since notes seem like a no-go, what about taking the same approach but >> using an empty commit to do it (`git commit --allow-empty`)? That way it >> gets pushed and merged between branches just like normal. > How would such commit indicate a relation to an existing commit? And after > making it, you can't easily edit the result, you can only redo it fully. What if we had a ADDENDUM file with the following contents: <COMMIT ID><NEWLINE> <REPLACEMENT LOG MESSAGE><NEWLINE> <NEWLINE> Then we could teach vc-region-history and the ChangeLog generator to pay attention to it. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 21:23 ` John Wiegley @ 2016-03-08 21:26 ` Dmitry Gutov 2016-03-08 21:59 ` Giuseppe Scrivano 1 sibling, 0 replies; 454+ messages in thread From: Dmitry Gutov @ 2016-03-08 21:26 UTC (permalink / raw) To: David Caldwell, Óscar Fuentes, emacs-devel On 03/08/2016 11:23 PM, John Wiegley wrote: > What if we had a ADDENDUM file with the following contents: > > <COMMIT ID><NEWLINE> > <REPLACEMENT LOG MESSAGE><NEWLINE> > <NEWLINE> > > Then we could teach vc-region-history and the ChangeLog generator to pay > attention to it. That's close to my suggestion, except it's using one file instead of many. I guess the question is what will work better: many small files in a directory, or a huge one. Also note that a log message usually contains multiple newlines already. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 21:23 ` John Wiegley 2016-03-08 21:26 ` Dmitry Gutov @ 2016-03-08 21:59 ` Giuseppe Scrivano 1 sibling, 0 replies; 454+ messages in thread From: Giuseppe Scrivano @ 2016-03-08 21:59 UTC (permalink / raw) To: emacs-devel; +Cc: Óscar Fuentes, Dmitry Gutov, David Caldwell John Wiegley <jwiegley@gmail.com> writes: >>>>>> Dmitry Gutov <dgutov@yandex.ru> writes: > >> On 03/08/2016 10:56 PM, David Caldwell wrote: >>> Since notes seem like a no-go, what about taking the same approach but >>> using an empty commit to do it (`git commit --allow-empty`)? That way it >>> gets pushed and merged between branches just like normal. > >> How would such commit indicate a relation to an existing commit? And after >> making it, you can't easily edit the result, you can only redo it fully. > > What if we had a ADDENDUM file with the following contents: > > <COMMIT ID><NEWLINE> > <REPLACEMENT LOG MESSAGE><NEWLINE> > <NEWLINE> > > Then we could teach vc-region-history and the ChangeLog generator to pay > attention to it. the git-to-changelog gnulib module already supports something similar via --amend=FILE. For example coreutils is keeping a list of corrections to make to the git commit messages before the ChangeLog is generated: http://git.savannah.gnu.org/cgit/coreutils.git/tree/build-aux/git-log-fix Regards, Giuseppe ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 21:16 ` Dmitry Gutov 2016-03-08 21:23 ` John Wiegley @ 2016-03-08 21:27 ` David Caldwell 2016-03-08 21:37 ` Dmitry Gutov 1 sibling, 1 reply; 454+ messages in thread From: David Caldwell @ 2016-03-08 21:27 UTC (permalink / raw) To: Dmitry Gutov, Óscar Fuentes, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1474 bytes --] On 3/8/16 1:16 PM, Dmitry Gutov wrote: > On 03/08/2016 10:56 PM, David Caldwell wrote: > >> Since notes seem like a no-go, what about taking the same approach but >> using an empty commit to do it (`git commit --allow-empty`)? That way it >> gets pushed and merged between branches just like normal. > > How would such commit indicate a relation to an existing commit? I was thinking something along the lines of "reword: <HASH>" in the message. > And after making it, you can't easily edit the result, you can only > redo it fully. Correct. Newest one wins. > How about putting all corrections as plain files in a subdirectory? Each > file will be named after a commit whose message it's "changing". IIRC, > I've seen such idea mentioned before, and it seems like it should work. Yeah, It would work as well. I just thought it would be nice to keep meta-data corrections in the meta-data itself. > We could even implement integration with vc-print-log without too much > difficulty. The main thing to solve is the cherrypick commits (does the > correction apply to whose? always?); Cherry-picks would definitely require more effort. > but as long as cherrypicks include the references to their parents in > the message, it should be workable, one way or another. I don't believe they do, by default. And if they need to be amended to include that, you might as well amend to include the fixed commit-log instead. -David [-- Attachment #2: S/MIME Cryptographic Signature --] [-- Type: application/pkcs7-signature, Size: 3819 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 21:27 ` David Caldwell @ 2016-03-08 21:37 ` Dmitry Gutov 0 siblings, 0 replies; 454+ messages in thread From: Dmitry Gutov @ 2016-03-08 21:37 UTC (permalink / raw) To: David Caldwell, Óscar Fuentes, emacs-devel On 03/08/2016 11:27 PM, David Caldwell wrote: >> How would such commit indicate a relation to an existing commit? > > I was thinking something along the lines of "reword: <HASH>" in the message. That would work. >> How about putting all corrections as plain files in a subdirectory? Each >> file will be named after a commit whose message it's "changing". IIRC, >> I've seen such idea mentioned before, and it seems like it should work. > > Yeah, It would work as well. I just thought it would be nice to keep > meta-data corrections in the meta-data itself. I figured it would be nice to be able to quickly find it. In vc-print-log integration code, for example. > I don't believe they do, by default. And if they need to be amended to > include that, you might as well amend to include the fixed commit-log > instead. The do when produced like we recommend in admin/notes/git-workflow (with -x argument). If it doesn't, it's not the end of the world. Someone will just have to issue a correction for the new hash as well. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 20:56 ` David Caldwell 2016-03-08 21:16 ` Dmitry Gutov @ 2016-03-08 21:33 ` Óscar Fuentes 1 sibling, 0 replies; 454+ messages in thread From: Óscar Fuentes @ 2016-03-08 21:33 UTC (permalink / raw) To: emacs-devel David Caldwell <david@porkrind.org> writes: >>>> We are not even using `git notes'. >>> >>> No one came up with a detailed procedure for doing that. If you can >>> propose something that works, please do. >> >> It's simple: put the corrected commit log on a note. When the ChangeLogs >> are generated, if a commit has a note, use the note instead of the >> commit log message. > > Since notes seem like a no-go, After reading the first of the references listed by David, I see nothing that indicates that `git notes' is inadequate for *this* use case. I still need to study the rest of his message. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 18:07 ` Is it time to drop ChangeLogs? Óscar Fuentes 2016-03-07 18:13 ` Óscar Fuentes @ 2016-03-07 20:58 ` Eli Zaretskii 1 sibling, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-07 20:58 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel > From: Óscar Fuentes <ofv@wanadoo.es> > Date: Mon, 07 Mar 2016 19:07:14 +0100 > > > I agree completely. Writing a log entry in ChangeLog format is an > > excellent opportunity for reflecting on the changeset, for summarizing > > its intent and final shape, and for making sure nothing was left out. > > Writing those entries teaches one discipline, the ability to describe > > your changes in just enough detail, and facilitates communications > > between members of the development team. And in loose teams such as > > ours, good communications are everything. > > The same applies to writing a good commit log. I have the impression > that the ChangeLog was acting as an excuse for poor commit logs, while > the ChangeLog's contents could be categorized as `lame' on the best of > cases. There is nothing on the ChangeLog that I can't get from the VC > history, on steroids. We can have a practice of copying the same log entries to both places. In fact, most people already do. > Emacs has, probably, the worst record on commit log quality of all the > major projects I contributed to. That's far from truth, IME. > Writing ChangeLogs feels so pointless (and, hence, irritant) to me that > on the past I refrained from submitting things to Emacs and keep them on > my local branch. If you want to write commit log messages, you won't need any additional effort for ChangeLogs. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-06 21:52 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) John Wiegley ` (3 preceding siblings ...) 2016-03-07 0:22 ` Mathieu Lirzin @ 2016-03-07 9:29 ` Alan Mackenzie 2016-03-08 3:01 ` Stefan Monnier 2016-03-07 16:24 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) Eli Zaretskii ` (2 subsequent siblings) 7 siblings, 1 reply; 454+ messages in thread From: Alan Mackenzie @ 2016-03-07 9:29 UTC (permalink / raw) To: Emacs developers, Lars Magne Ingebrigtsen, 21998 Hello, John. On Sun, Mar 06, 2016 at 01:52:04PM -0800, John Wiegley wrote: > On Sun, Mar 06 2016 13:07 (-0800), John Wiegley wrote: > > I have always wanted to drop the ChangeLogs, so if the other > > developers agree, I'm all for it. Keeping ChangeLog style in the > > commit entry is not terribly useful either, .... I find that a strange thing to say. I frequently search the ChangeLog for the name of a function, to find out when it was last changed. I think the relatively rigid format of the ChangeLog/git commit messages very helpful. > > ...., since the diff output of log -p lets you know which function > > or variable is being modified. I've never missed not having that > > ChangeLog data in other projects, of any size. But that's up to the > > other developers and what makes their lives easier. The ChangeLog is easy to use. git is difficult to use (more precisely, is difficult to find out how to use). I've no idea what git log -p does, for example (though I'll be looking it up after I've posted this post :-). If we drop the ChangeLog we're cutting off its contents from those for whom discovering the appropriate git commands is too much work. > I'd like to open this up to discussion on emacs-devel, so that we hear from > our other developers. What do you all think about ChangeLogs, and their value > to you in your work on Emacs? The ChangeLog is useful, enabling things to be done that can't be done without it. If I want to see whether some change was made in Emacs 23.2, for example, I can either inspect 23.2's ChangeLog or spend several hours working out how to get the information out of git. No contest. The ChangeLog is distributed with the release, enabling our users to access its information. They typically don't have and/or don't know how to use git repositories. I'm decidedly in favour of keeping the ChangeLog. But surely an important consideration is whether the person/people who put in the work to generate it are prepared to carry on doing this. > -- > John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F > http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 9:29 ` Alan Mackenzie @ 2016-03-08 3:01 ` Stefan Monnier 0 siblings, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 3:01 UTC (permalink / raw) To: emacs-devel > I find that a strange thing to say. I frequently search the ChangeLog > for the name of a function, to find out when it was last changed. I use vc-region-history for that. I find it addictive. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) 2016-03-06 21:52 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) John Wiegley ` (4 preceding siblings ...) 2016-03-07 9:29 ` Alan Mackenzie @ 2016-03-07 16:24 ` Eli Zaretskii 2016-03-07 16:29 ` Is it time to drop ChangeLogs? John Wiegley 2016-03-09 18:52 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) Yuri Khan 2016-03-08 2:59 ` Is it time to drop ChangeLogs? Stefan Monnier 2016-07-06 14:20 ` Ted Zlatanov 7 siblings, 2 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-07 16:24 UTC (permalink / raw) To: John Wiegley; +Cc: emacs-devel [I removed the bug address from the CC list, as we shouldn't cross-post.] > From: John Wiegley <jwiegley@gmail.com> > Date: Sun, 06 Mar 2016 13:52:04 -0800 > Cc: 21998@debbugs.gnu.org, Lars Magne Ingebrigtsen <larsi@gnus.org> > > Keeping ChangeLog style in the commit entry is not terribly > useful either, since the diff output of log -p lets you know which function or > variable is being modified. "git log -p" cannot do the job for changes in many types of files. For example, try it on Lisp or Texinfo files. More generally, there's no way Git could replace ChangeLog style entries, because they frequently include information that is not in the diffs. To say nothing of the fact that understanding the change from reading Diff hunks is much harder, and therefore much less efficient, than from reading a log entry which describes the change in plain English. > I've never missed not having that ChangeLog data in other projects, > of any size. Maybe you rarely need to do any forensics. Me, I do it all the time in Emacs, and ChangeLog files are a valuable tool in the chest. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 16:24 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) Eli Zaretskii @ 2016-03-07 16:29 ` John Wiegley 2016-03-07 16:53 ` Eli Zaretskii 2016-03-09 18:52 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) Yuri Khan 1 sibling, 1 reply; 454+ messages in thread From: John Wiegley @ 2016-03-07 16:29 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel >>>>> Eli Zaretskii <eliz@gnu.org> writes: > More generally, there's no way Git could replace ChangeLog style entries, > because they frequently include information that is not in the diffs. To say > nothing of the fact that understanding the change from reading Diff hunks is > much harder, and therefore much less efficient, than from reading a log > entry which describes the change in plain English. I'm not saying that commit log entries are not necessary. Having a richly verbose description of a change is always good. I'm just saying that enforcing ChangeLog structure is orthogonal. >> I've never missed not having that ChangeLog data in other projects, of any >> size. > Maybe you rarely need to do any forensics. Me, I do it all the time in > Emacs, and ChangeLog files are a valuable tool in the chest. I do deep forensics in other projects all the time. I've never noticed having or not having a ChangeLog as bearing much on the ease of doing so. What matters more is how well documented a commit is, and how well each commit sticks to doing just one thing. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-07 16:29 ` Is it time to drop ChangeLogs? John Wiegley @ 2016-03-07 16:53 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-07 16:53 UTC (permalink / raw) To: John Wiegley; +Cc: emacs-devel > From: John Wiegley <jwiegley@gmail.com> > Cc: emacs-devel@gnu.org > Date: Mon, 07 Mar 2016 08:29:44 -0800 > > >>>>> Eli Zaretskii <eliz@gnu.org> writes: > > > More generally, there's no way Git could replace ChangeLog style entries, > > because they frequently include information that is not in the diffs. To say > > nothing of the fact that understanding the change from reading Diff hunks is > > much harder, and therefore much less efficient, than from reading a log > > entry which describes the change in plain English. > > I'm not saying that commit log entries are not necessary. Having a richly > verbose description of a change is always good. I'm just saying that enforcing > ChangeLog structure is orthogonal. So you are saying we should come up with a completely new structure? And you are sure we will do it correctly the first time? I doubt that. ChangeLog structure is a well-known one, it has good support in Emacs itself, including some quite exotic features (like invoking "C-x 4 a" from diffs). Developers that come from other GNU projects are familiar with this format, and will have no difficulties to fit in. None of this will be true for any new format we invent. Sounds like waste of energy to me. > I do deep forensics in other projects all the time. I've never noticed having > or not having a ChangeLog as bearing much on the ease of doing so. What > matters more is how well documented a commit is, and how well each commit > sticks to doing just one thing. What can I say? we have very different experiences. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) 2016-03-07 16:24 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) Eli Zaretskii 2016-03-07 16:29 ` Is it time to drop ChangeLogs? John Wiegley @ 2016-03-09 18:52 ` Yuri Khan 2016-03-09 19:10 ` Eli Zaretskii 1 sibling, 1 reply; 454+ messages in thread From: Yuri Khan @ 2016-03-09 18:52 UTC (permalink / raw) To: Eli Zaretskii; +Cc: John Wiegley, Emacs developers On Mon, Mar 7, 2016 at 10:24 PM, Eli Zaretskii <eliz@gnu.org> wrote: > "git log -p" cannot do the job for changes in many types of files. > For example, try it on Lisp or Texinfo files. I assume you are talking about the function header that is displayed in the hunk headers, and by default contains the nearest preceding line that starts in the zeroth column. Git can in fact be configured to recognize “functions” differently, per file type. The gitattributes(5) manual page describes this: Defining a custom hunk-header […] First, in .gitattributes, you would assign the diff attribute for paths. *.tex diff=tex Then, you would define a "diff.tex.xfuncname" configuration to specify a regular expression that matches a line that you would want to appear as the hunk header "TEXT". Add a section to your $GIT_DIR/config file (or $HOME/.gitconfig file) like this: [diff "tex"] xfuncname = "^(\\\\(sub)*section\\{.*)$" ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) 2016-03-09 18:52 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) Yuri Khan @ 2016-03-09 19:10 ` Eli Zaretskii 2016-03-09 19:18 ` Paul Eggert 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 19:10 UTC (permalink / raw) To: Yuri Khan; +Cc: johnw, emacs-devel > From: Yuri Khan <yuri.v.khan@gmail.com> > Date: Thu, 10 Mar 2016 00:52:53 +0600 > Cc: John Wiegley <johnw@gnu.org>, Emacs developers <emacs-devel@gnu.org> > > On Mon, Mar 7, 2016 at 10:24 PM, Eli Zaretskii <eliz@gnu.org> wrote: > > > "git log -p" cannot do the job for changes in many types of files. > > For example, try it on Lisp or Texinfo files. > > I assume you are talking about the function header that is displayed > in the hunk headers John was. > Git can in fact be configured to recognize “functions” differently, > per file type. Yes, I know. But how many people have done that, and how many of them will be able to cough up the right regex for whatever language they need? ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) 2016-03-09 19:10 ` Eli Zaretskii @ 2016-03-09 19:18 ` Paul Eggert 2016-03-09 19:53 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-03-09 19:18 UTC (permalink / raw) To: Eli Zaretskii, Yuri Khan; +Cc: johnw, emacs-devel On 03/09/2016 11:10 AM, Eli Zaretskii wrote: >> >Git can in fact be configured to recognize “functions” differently, >> >per file type. > Yes, I know. But how many people have done that, and how many of them > will be able to cough up the right regex for whatever language they > need? We don't need to do it for all languages, just for the languages Emacs is written in. And people shouldn't need to cough up the right regex; all they need to do is run "./autogen.sh all" or "./autogen.sh git". We should get people into the habit of running autogen.sh that way, when they clone from the repository. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) 2016-03-09 19:18 ` Paul Eggert @ 2016-03-09 19:53 ` Eli Zaretskii 2016-03-09 23:22 ` Paul Eggert 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-09 19:53 UTC (permalink / raw) To: Paul Eggert; +Cc: johnw, emacs-devel, yuri.v.khan > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Wed, 9 Mar 2016 11:18:04 -0800 > Cc: johnw@gnu.org, emacs-devel@gnu.org > > On 03/09/2016 11:10 AM, Eli Zaretskii wrote: > >> >Git can in fact be configured to recognize “functions” differently, > >> >per file type. > > Yes, I know. But how many people have done that, and how many of them > > will be able to cough up the right regex for whatever language they > > need? > > We don't need to do it for all languages, just for the languages Emacs > is written in. Which are quite a few. > And people shouldn't need to cough up the right regex; all they need > to do is run "./autogen.sh all" or "./autogen.sh git". That still misses a couple that add-change-log-entry doesn't. > We should get people into the habit of running autogen.sh that way, > when they clone from the repository. Some of them didn't like the extra baggage that brings, though. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) 2016-03-09 19:53 ` Eli Zaretskii @ 2016-03-09 23:22 ` Paul Eggert 2016-03-10 6:36 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-03-09 23:22 UTC (permalink / raw) To: Eli Zaretskii; +Cc: johnw, emacs-devel, yuri.v.khan On 03/09/2016 11:53 AM, Eli Zaretskii wrote: > >> And people shouldn't need to cough up the right regex; all they need >> to do is run "./autogen.sh all" or "./autogen.sh git". > That still misses a couple that add-change-log-entry doesn't. Which two languages? It should be easy to fix and I can volunteer to do that. > >> We should get people into the habit of running autogen.sh that way, >> when they clone from the repository. > Some of them didn't like the extra baggage that brings, though. Yes, I remember. :-) Experts who want detailed control over every Git setting can of course configure this stuff any way they like. I just want the default to be reasonable, that's all. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) 2016-03-09 23:22 ` Paul Eggert @ 2016-03-10 6:36 ` Eli Zaretskii 2016-03-10 9:14 ` Yuri Khan 2016-03-13 20:06 ` Paul Eggert 0 siblings, 2 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-10 6:36 UTC (permalink / raw) To: Paul Eggert; +Cc: johnw, emacs-devel, yuri.v.khan > Cc: yuri.v.khan@gmail.com, johnw@gnu.org, emacs-devel@gnu.org > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Wed, 9 Mar 2016 15:22:31 -0800 > > On 03/09/2016 11:53 AM, Eli Zaretskii wrote: > > > > >> And people shouldn't need to cough up the right regex; all they need > >> to do is run "./autogen.sh all" or "./autogen.sh git". > > That still misses a couple that add-change-log-entry doesn't. > > Which two languages? It should be easy to fix and I can volunteer to do > that. Shell scripts and Makefiles are the two I thought of immediately. Maybe there are more, I don't know. How about TeX and PS, for example? We have a few of those. Basically, every major mode that has support for add-change-log-entry and for which we have files in the repository is a candidate. Btw, the best solution would be to have these tricks added to standard Git installation, or maybe to GNU Diff (which I think Git uses?). Why should users need to reinvent the same wheel all the time? ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) 2016-03-10 6:36 ` Eli Zaretskii @ 2016-03-10 9:14 ` Yuri Khan 2016-03-10 9:46 ` Eli Zaretskii 2016-03-13 20:06 ` Paul Eggert 1 sibling, 1 reply; 454+ messages in thread From: Yuri Khan @ 2016-03-10 9:14 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Paul Eggert, John Wiegley, Emacs developers On Thu, Mar 10, 2016 at 12:36 PM, Eli Zaretskii <eliz@gnu.org> wrote: > Btw, the best solution would be to have these tricks added to standard > Git installation, or maybe to GNU Diff (which I think Git uses?). Why > should users need to reinvent the same wheel all the time? Git in fact predefines header regexps for many languages predefined (see list below). It just does not apply them out-of-the-box; the user has to add the “*.tex diff=tex” and similar mappings to one of their gitattributes file. Actually, mappings that are useful for all contributors could be stored in the version-controlled .gitattributes file; no need for magic autogen.sh machinery. The following built in patterns are available: · ada suitable for source code in the Ada language. · bibtex suitable for files with BibTeX coded references. · cpp suitable for source code in the C and C++ languages. · csharp suitable for source code in the C# language. · fortran suitable for source code in the Fortran language. · fountain suitable for Fountain documents. · html suitable for HTML/XHTML documents. · java suitable for source code in the Java language. · matlab suitable for source code in the MATLAB language. · objc suitable for source code in the Objective-C language. · pascal suitable for source code in the Pascal/Delphi language. · perl suitable for source code in the Perl language. · php suitable for source code in the PHP language. · python suitable for source code in the Python language. · ruby suitable for source code in the Ruby language. · tex suitable for source code for LaTeX documents. (from gitattributes(5) as of Git 2.7.1) ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) 2016-03-10 9:14 ` Yuri Khan @ 2016-03-10 9:46 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-03-10 9:46 UTC (permalink / raw) To: Yuri Khan; +Cc: eggert, johnw, emacs-devel > From: Yuri Khan <yuri.v.khan@gmail.com> > Date: Thu, 10 Mar 2016 15:14:13 +0600 > Cc: Paul Eggert <eggert@cs.ucla.edu>, John Wiegley <johnw@gnu.org>, > Emacs developers <emacs-devel@gnu.org> > > On Thu, Mar 10, 2016 at 12:36 PM, Eli Zaretskii <eliz@gnu.org> wrote: > > > Btw, the best solution would be to have these tricks added to standard > > Git installation, or maybe to GNU Diff (which I think Git uses?). Why > > should users need to reinvent the same wheel all the time? > > Git in fact predefines header regexps for many languages predefined > (see list below). It just does not apply them out-of-the-box; the user > has to add the “*.tex diff=tex” and similar mappings to one of their > gitattributes file. Then I guess my suggestion above is that these _are_ applied out of the box. > The following built in patterns are available: > > · ada suitable for source code in the Ada language. > · bibtex suitable for files with BibTeX coded references. > · cpp suitable for source code in the C and C++ languages. > · csharp suitable for source code in the C# language. > · fortran suitable for source code in the Fortran language. > · fountain suitable for Fountain documents. > · html suitable for HTML/XHTML documents. > · java suitable for source code in the Java language. > · matlab suitable for source code in the MATLAB language. > · objc suitable for source code in the Objective-C language. > · pascal suitable for source code in the Pascal/Delphi language. > · perl suitable for source code in the Perl language. > · php suitable for source code in the PHP language. > · python suitable for source code in the Python language. > · ruby suitable for source code in the Ruby language. > · tex suitable for source code for LaTeX documents. We need some more, which are not in this list. Thanks. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) 2016-03-10 6:36 ` Eli Zaretskii 2016-03-10 9:14 ` Yuri Khan @ 2016-03-13 20:06 ` Paul Eggert 1 sibling, 0 replies; 454+ messages in thread From: Paul Eggert @ 2016-03-13 20:06 UTC (permalink / raw) To: Eli Zaretskii; +Cc: johnw, emacs-devel, yuri.v.khan [-- Attachment #1: Type: text/plain, Size: 901 bytes --] >> Which two languages? It should be easy to fix and I can volunteer to do >> >that. > Shell scripts and Makefiles are the two I thought of immediately. > Maybe there are more, I don't know. How about TeX and PS, for > example? We have a few of those. .ps files are hardly ever edited any more, so they're low priority. .m4 files are more important. I installed into master the attached patch, which adds support for shell, makefiles, m4, and other formats that git already supports well. Run './autogen.sh git' to use it. > Btw, the best solution would be to have these tricks added to standard > Git installation, or maybe to GNU Diff (which I think Git uses?). Why > should users need to reinvent the same wheel all the time? shell scripts and makefiles are hard to automate in a portable way, as projects use different styles. Perhaps that's why the Git developers have omitted those. [-- Attachment #2: 0001-Improve-diff-hunk-headers-when-maintaining-Emacs.patch --] [-- Type: text/x-diff, Size: 2740 bytes --] From 571b427753f8e469f777fbc1f7d1cbe247f48840 Mon Sep 17 00:00:00 2001 From: Paul Eggert <eggert@cs.ucla.edu> Date: Sun, 13 Mar 2016 12:20:01 -0700 Subject: [PATCH] Improve diff hunk headers when maintaining Emacs * .gitattributes: Improve diff hunk header support for makefiles, shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java, Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs somewhere (sometimes just in test cases). * autogen.sh: Add regexes for makefiles and shell scripts. --- .gitattributes | 46 ++++++++++++++++++++++++++++++++++++++++++++++ autogen.sh | 5 +++++ 2 files changed, 51 insertions(+) diff --git a/.gitattributes b/.gitattributes index 5ccf9a5..13e58a8 100644 --- a/.gitattributes +++ b/.gitattributes @@ -47,6 +47,52 @@ doc/misc/texinfo.tex -whitespace=blank-at-eol *.tiff binary etc/e/eterm-color binary +# Git's builtin diff hunk header styles. +*.ada diff=ada +*.[ch] diff=cpp +*.cc diff=cpp +*.cpp diff=cpp +*.hh diff=cpp +*.for diff=fortran +*.html diff=html +*.shtml diff=html +*.xml diff=html +*.java diff=java +*.m diff=objc +*.perl diff=perl +*.pl diff=perl +*.php diff=php +*.py diff=python +*.rb diff=ruby +*.ruby diff=ruby +*.tex diff=tex + # Hooks for non-default diff hunk headers; see autogen.sh. *.el diff=elisp +*.ac diff=m4 +*.m4 diff=m4 +*.mk diff=make +*[Mm]akefile diff=make +Makefile.in diff=make +*.sh diff=shell *.texi diff=texinfo +# +# Diff hunk header special-case file names. +admin/build-configs diff=perl +admin/charsets/mapconv diff=shell +admin/diff-tar-files diff=shell +admin/make-emacs diff=perl +admin/merge-gnulib diff=shell +admin/merge-pkg-config diff=shell +admin/quick-install-emacs diff=shell +admin/update-copyright diff=shell +admin/update_autogen diff=shell +build-aux/git-hooks/commit-msg diff=shell +build-aux/git-hooks/pre-commit diff=shell +build-aux/gitlog-to-emacslog diff=shell +build-aux/make-info-dir diff=shell +build-aux/move-if-change diff=shell +build-aux/msys-to-w32 diff=shell +build-aux/update-subdirs diff=shell +lib-src/rcs2log diff=shell +/make-dist diff=shell diff --git a/autogen.sh b/autogen.sh index ac728cc..9042465 100755 --- a/autogen.sh +++ b/autogen.sh @@ -281,6 +281,11 @@ git_config () git_config diff.elisp.xfuncname \ '^\(def[^[:space:]]+[[:space:]]+([^()[:space:]]+)' +git_config 'diff.m4.xfuncname' '^((m4_)?define|A._DEFUN(_ONCE)?)\([^),]*' +git_config 'diff.make.xfuncname' \ + '^([$.[:alnum:]_].*:|[[:alnum:]_]+[[:space:]]*([*:+]?[:?]?|!?)=|define .*)' +git_config 'diff.shell.xfuncname' \ + '^([[:space:]]*[[:alpha:]_][[:alnum:]_]*[[:space:]]*\(\)|[[:alpha:]_][[:alnum:]_]*=)' git_config diff.texinfo.xfuncname \ '^@node[[:space:]]+([^,[:space:]][^,]+)' -- 2.5.0 ^ permalink raw reply related [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-06 21:52 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) John Wiegley ` (5 preceding siblings ...) 2016-03-07 16:24 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) Eli Zaretskii @ 2016-03-08 2:59 ` Stefan Monnier 2016-03-08 3:41 ` Christopher Allan Webber 2016-03-08 3:48 ` Eli Zaretskii 2016-07-06 14:20 ` Ted Zlatanov 7 siblings, 2 replies; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 2:59 UTC (permalink / raw) To: emacs-devel > I'd like to open this up to discussion on emacs-devel, so that we hear from > our other developers. What do you all think about ChangeLogs, and their value > to you in your work on Emacs? I couldn't care less about ChangeLog *files*, really. I think it makes sense to provide them in tarballs (to replace the Git metadata), but I've personally stopped using them years ago when "bzr log" started being fast enough. But OTOH I strongly oppose getting rid of the ChangeLog format in commit messages. My experience with commit messages is that it's very difficult for people to know what should go in a commit message (especially so for less experienced coders, but even for experienced coders it's difficult to guess what information will turn out to be important). The ChangeLog format's rules gives a very good baseline for that. Even if some of that info seems redundant, the act of describing all the parts that are changed, encourages the coder to pay attention to every part of the diff she's about to commit. The original ChangeLog format lacked a high-level description of the intention behind the changes, so the rules we currently use in Emacs is to use something of the form: <One line summary> <High-level description of the purpose of the change> <ChangeLog-style details> If we were to drop the "ChangeLog-style details", we'd end up with very little guidance as to what to put in the commit message, so we'd have even more trouble getting contributors to start providing acceptable commit messages. My experience (when trying to figure out, years later, why such and such line of code was changed in that particular way) is that ChangeLog-style details don't always give you the info you want, but at least they tend to say *something* about your particular line (because they have to talk about every part of the diff), whereas the high level description is too often too high-level and hence not detailed enough for that. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 2:59 ` Is it time to drop ChangeLogs? Stefan Monnier @ 2016-03-08 3:41 ` Christopher Allan Webber 2016-03-08 3:48 ` Eli Zaretskii 1 sibling, 0 replies; 454+ messages in thread From: Christopher Allan Webber @ 2016-03-08 3:41 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier writes: >> I'd like to open this up to discussion on emacs-devel, so that we hear from >> our other developers. What do you all think about ChangeLogs, and their value >> to you in your work on Emacs? > > The ChangeLog format's rules gives a very good baseline for that. > Even if some of that info seems redundant, the act of describing all the > parts that are changed, encourages the coder to pay attention to every > part of the diff she's about to commit. > [...] > My experience (when trying to figure out, years later, why such and such > line of code was changed in that particular way) is that ChangeLog-style > details don't always give you the info you want, but at least they tend > to say *something* about your particular line (because they have to talk > about every part of the diff), whereas the high level description is > too often too high-level and hence not detailed enough for that. > > > Stefan Unlike most others to this list, I am relatively new to ChangeLog style messages. I only started making commits with them over the last year, because of contributing to Guix (and less so to Guile). I have mixed feelings about the whole thing, probably learning towards positive, but not entirely. Here's maybe a summary of a lot of the points I'm seeing raised (and my own conflicted thoughts too): - It does seem like there's duplication of data between vc commits and ChangeLog files. So for the most part, just having that data be *in* the commit message makes most sense, and thus so does extracting it after to produce the ChangeLog. - Unless you make a mistake in the commit message of course! Then I don't know what you do. Nobody in Guix seems too worried about it, so... - ChangeLog style commits did take me a bit to do right, and I did not find the GNU Coding Standards easy for me to understand clearly. So initially I mimed the look and feel from other committers in Guix, and eventually it began to make sense. This does seem like an extra barrier, but it does seem like the kind of workflow I go through for most skills which eventually become intuitive anyway. - That said I do think I developed better, cleaner commit message hygeine after adopting ChangeLog style commit messages. - Though some of it still feels redundant! - Prior to this, I mostly used "git log" and vc-annotate to find things. (vc-annotate is awesome, btw.) Usually it worked just great. Though... when it didn't, it could be a big headache. Refactoring of files into other files, or large reindenting of Python files for instance, are hard to reason about after those kinds of commits. So is it worth it? I don't know! But those seem like the main points to me, from my own (relatively newcomer to the format) experiences. - Chris ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 2:59 ` Is it time to drop ChangeLogs? Stefan Monnier 2016-03-08 3:41 ` Christopher Allan Webber @ 2016-03-08 3:48 ` Eli Zaretskii 2016-03-08 4:02 ` Stefan Monnier 1 sibling, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-03-08 3:48 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel > From: Stefan Monnier <monnier@iro.umontreal.ca> > Date: Mon, 07 Mar 2016 21:59:02 -0500 > > > I'd like to open this up to discussion on emacs-devel, so that we hear from > > our other developers. What do you all think about ChangeLogs, and their value > > to you in your work on Emacs? > > I couldn't care less about ChangeLog *files*, really. > > I think it makes sense to provide them in tarballs (to replace the Git > metadata), but I've personally stopped using them years ago when "bzr > log" started being fast enough. We tried that, for a full year. If it worked, we could continue using it. But it doesn't work, even when we have only one active branch. So continuing using it is out of the question if we want to have the files available in the tarballs. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 3:48 ` Eli Zaretskii @ 2016-03-08 4:02 ` Stefan Monnier 2016-03-08 6:51 ` Paul Eggert 0 siblings, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-03-08 4:02 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel >> I think it makes sense to provide them in tarballs (to replace the Git >> metadata), but I've personally stopped using them years ago when "bzr >> log" started being fast enough. > We tried that, for a full year. If it worked, we could continue using > it. But it doesn't work, even when we have only one active branch. > So continuing using it is out of the question if we want to have the > files available in the tarballs. No, what we do currently is different: we auto-generate the ChangeLog and then commit it into the Git. What I think we should do is to never commit it into the Git, and only auto-generate it into the tarball. Like what we do for GNU ELPA packages (where the log is extracted via "git log" when building the package and added to the package's content). That makes "fixing" ChangeLog entries harder/impossible. But it gets us rid of the merge-mess once and for all. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-08 4:02 ` Stefan Monnier @ 2016-03-08 6:51 ` Paul Eggert 0 siblings, 0 replies; 454+ messages in thread From: Paul Eggert @ 2016-03-08 6:51 UTC (permalink / raw) To: Stefan Monnier, Eli Zaretskii; +Cc: emacs-devel Stefan Monnier wrote: > What I think we should do is to never > commit it into the Git, and only auto-generate it into the tarball. That's easy to do -- it's what coreutils etc. do -- and is what I implemented at first for Emacs. It should be easy to change Emacs to do things that way; the change would mostly consist of removing gorp from the top-level Makefile. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-03-06 21:52 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) John Wiegley ` (6 preceding siblings ...) 2016-03-08 2:59 ` Is it time to drop ChangeLogs? Stefan Monnier @ 2016-07-06 14:20 ` Ted Zlatanov 2016-07-06 15:08 ` Robert Weiner ` (3 more replies) 7 siblings, 4 replies; 454+ messages in thread From: Ted Zlatanov @ 2016-07-06 14:20 UTC (permalink / raw) To: emacs-devel On Sun, 06 Mar 2016 13:52:04 -0800 John Wiegley <jwiegley@gmail.com> wrote: JW> I'd like to open this up to discussion on emacs-devel, so that we hear from JW> our other developers. What do you all think about ChangeLogs, and their value JW> to you in your work on Emacs? Currently, I think ChangeLogs are a barrier to contribution. The vast majority of other software projects don't use them. But Emacs doesn't have a pull request contribution system, which makes it hard to review things before they go in, so contributors must know and follow the right format at all times. It's a pain. So I would suggest moving to a pull request system, where code review from a second contributor is required to merge any non-trivial code (exceptions should be granted based on years contributing to Emacs). That also gives *everyone* the opportunity to comment on the code before it's merged, instead of post-facto. Clearly services such as Github and BitBucket and many others have been offering this functionality for a while with good results. A big advantage of pull requests is that they can group commits, so each commit doesn't need the level of detail it does today, and so the evolution of the work is visible to a reviewer. Then ChangeLogs become simply documentation for the merged code, together with actual docs and other notes that are needed. The pull request system can later provide *everything* that a ChangeLog could, and more (such as better searching and cross-referencing) so in the long term the ChangeLog can go away. Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 14:20 ` Ted Zlatanov @ 2016-07-06 15:08 ` Robert Weiner 2016-07-06 15:17 ` Noam Postavsky 2016-07-07 21:56 ` Richard Stallman 2016-07-06 15:36 ` Eli Zaretskii ` (2 subsequent siblings) 3 siblings, 2 replies; 454+ messages in thread From: Robert Weiner @ 2016-07-06 15:08 UTC (permalink / raw) To: emacs-devel On Wed, Jul 6, 2016 at 10:20 AM, Ted Zlatanov <tzz@lifelogs.com> wrote: > A big advantage of pull requests is that they can group commits, so each > commit doesn't need the level of detail it does today, and so the > evolution of the work is visible to a reviewer. > > Then ChangeLogs become simply documentation for the merged code, > together with actual docs and other notes that are needed. The pull > request system can later provide *everything* that a ChangeLog could, > and more (such as better searching and cross-referencing) so in the long > term the ChangeLog can go away. ChangeLogs can group commits of code changes quite simply (just group the change comments together) and have the advantage that no special tools are needed to review them, just browse them linearly or search for changes within a specific release. I would be in favor of grouping changes spanning multiple days together and using the final date rather than having them split into separate entries by day. I agree that having to provide secondary commentary in a commit log is a pain and duplicative of effort but I don't have any suggestion for solution on that. Bob ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 15:08 ` Robert Weiner @ 2016-07-06 15:17 ` Noam Postavsky 2016-07-07 21:56 ` Richard Stallman 1 sibling, 0 replies; 454+ messages in thread From: Noam Postavsky @ 2016-07-06 15:17 UTC (permalink / raw) To: rswgnu; +Cc: emacs-devel On Wed, Jul 6, 2016 at 11:08 AM, Robert Weiner <rsw@gnu.org> wrote: > I agree that having to provide secondary commentary in a commit log is > a pain and duplicative of effort but I don't have any suggestion for > solution on that. It's already been solved a while ago, now ChangeLogs are auto-generated from the commit message. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 15:08 ` Robert Weiner 2016-07-06 15:17 ` Noam Postavsky @ 2016-07-07 21:56 ` Richard Stallman 1 sibling, 0 replies; 454+ messages in thread From: Richard Stallman @ 2016-07-07 21:56 UTC (permalink / raw) To: rswgnu; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > I would be in favor of > grouping changes spanning multiple days together and using the final > date rather than having them split into separate entries by day. I'm in favor of that, too > I agree that having to provide secondary commentary in a commit log is > a pain and duplicative of effort but I don't have any suggestion for > solution on that. What does "secondary commentary" mean? A concise overall description of what that change does? That shouldn't be hard to write. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 14:20 ` Ted Zlatanov 2016-07-06 15:08 ` Robert Weiner @ 2016-07-06 15:36 ` Eli Zaretskii 2016-07-06 16:06 ` Ted Zlatanov 2016-07-07 12:46 ` Is it time to drop ChangeLogs? Alan Mackenzie 2016-07-07 21:56 ` Richard Stallman 3 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-07-06 15:36 UTC (permalink / raw) To: emacs-devel > From: Ted Zlatanov <tzz@lifelogs.com> > Date: Wed, 06 Jul 2016 10:20:07 -0400 > > Currently, I think ChangeLogs are a barrier to contribution. The vast > majority of other software projects don't use them. We don't have ChangeLogs anymore. So I'm not sure what is this about, please clarify. > So I would suggest moving to a pull request system, where code review > from a second contributor is required to merge any non-trivial code > (exceptions should be granted based on years contributing to Emacs). > That also gives *everyone* the opportunity to comment on the code before > it's merged, instead of post-facto. Clearly services such as Github and > BitBucket and many others have been offering this functionality for a > while with good results. Everyone can comment on patches now, but almost no one does. How can we be sure this arrangement will work? It could be a tremendous impediment to development if everyone must wait for comments that never come. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 15:36 ` Eli Zaretskii @ 2016-07-06 16:06 ` Ted Zlatanov 2016-07-06 16:36 ` Eli Zaretskii 2016-07-06 17:41 ` Paul Eggert 0 siblings, 2 replies; 454+ messages in thread From: Ted Zlatanov @ 2016-07-06 16:06 UTC (permalink / raw) To: emacs-devel On Wed, 06 Jul 2016 18:36:38 +0300 Eli Zaretskii <eliz@gnu.org> wrote: >> From: Ted Zlatanov <tzz@lifelogs.com> >> Date: Wed, 06 Jul 2016 10:20:07 -0400 >> >> Currently, I think ChangeLogs are a barrier to contribution. The vast >> majority of other software projects don't use them. EZ> We don't have ChangeLogs anymore. So I'm not sure what is this about, EZ> please clarify. ChangeLog-style formatting. Sorry. I was talking about the benefits and reasons for having that specific format and the problems from when the format is not followed (bad formatting, misspellings, etc.) I was trying to say that using a pull request system would reduce the need for writing every commit message as if it was going into a ChangeLog, and would give better assurance that mistakes are caught before they get merged. It has many other benefits (code review, community feedback) but I was commenting specifically for ChangeLogs, following up to an old message. I hope that's more clear. Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 16:06 ` Ted Zlatanov @ 2016-07-06 16:36 ` Eli Zaretskii 2016-07-06 17:03 ` Ted Zlatanov 2016-07-06 17:41 ` Paul Eggert 1 sibling, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-07-06 16:36 UTC (permalink / raw) To: emacs-devel; +Cc: emacs-devel > From: Ted Zlatanov <tzz@lifelogs.com> > Date: Wed, 06 Jul 2016 12:06:28 -0400 > > ChangeLog-style formatting. Sorry. I was talking about the benefits and > reasons for having that specific format and the problems from when the > format is not followed (bad formatting, misspellings, etc.) What format do you suggest instead? The advantage of the current formatting is that we have Emacs features which support it very well. Any other formatting will have to grow a similar support first. And then we all need to re-learn. IOW, isn't this suggestion going to favor casual contributors over those who push commits day in and day out? > I was trying to say that using a pull request system would reduce the > need for writing every commit message as if it was going into a > ChangeLog, and would give better assurance that mistakes are caught > before they get merged. It has many other benefits (code review, > community feedback) but I was commenting specifically for ChangeLogs, > following up to an old message. As I wrote, I have doubts that we will be able to sustain such a system. Maybe I'm wrong. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 16:36 ` Eli Zaretskii @ 2016-07-06 17:03 ` Ted Zlatanov 2016-07-06 17:23 ` Eli Zaretskii ` (2 more replies) 0 siblings, 3 replies; 454+ messages in thread From: Ted Zlatanov @ 2016-07-06 17:03 UTC (permalink / raw) To: emacs-devel On Wed, 06 Jul 2016 19:36:30 +0300 Eli Zaretskii <eliz@gnu.org> wrote: >> From: Ted Zlatanov <tzz@lifelogs.com> >> Date: Wed, 06 Jul 2016 12:06:28 -0400 >> >> ChangeLog-style formatting. Sorry. I was talking about the benefits and >> reasons for having that specific format and the problems from when the >> format is not followed (bad formatting, misspellings, etc.) EZ> What format do you suggest instead? "Summary line. Details..." Where the Details can be in the current or another format or whatever works for the contributor. The per-file summary would be available from the pull request system, regardless of the formatting of the commit message. EZ> The advantage of the current formatting is that we have Emacs features EZ> which support it very well. Any other formatting will have to grow a EZ> similar support first. And then we all need to re-learn. Good points. I'm trying to say all the support code can move to the pull request system, so it won't go away, and the transition can be gradual. EZ> IOW, isn't this suggestion going to favor casual contributors over EZ> those who push commits day in and day out? Yes, exceptions should be made for those regular contributors. But you know that some features merit discussion, even if a very senior contributor wants them. >> I was trying to say that using a pull request system would reduce the >> need for writing every commit message as if it was going into a >> ChangeLog, and would give better assurance that mistakes are caught >> before they get merged. It has many other benefits (code review, >> community feedback) but I was commenting specifically for ChangeLogs, >> following up to an old message. EZ> As I wrote, I have doubts that we will be able to sustain such a EZ> system. Maybe I'm wrong. If I understand correctly, your concern is about logistics rather than about the fundamental benefits of such a system. I share your concerns and think the risk is worth the benefit. Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 17:03 ` Ted Zlatanov @ 2016-07-06 17:23 ` Eli Zaretskii 2016-07-06 17:44 ` Clément Pit--Claudel 2016-07-06 17:39 ` John Wiegley 2016-07-07 21:57 ` Richard Stallman 2 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-07-06 17:23 UTC (permalink / raw) To: emacs-devel > From: Ted Zlatanov <tzz@lifelogs.com> > Date: Wed, 06 Jul 2016 13:03:07 -0400 > > On Wed, 06 Jul 2016 19:36:30 +0300 Eli Zaretskii <eliz@gnu.org> wrote: > > EZ> What format do you suggest instead? > > "Summary line. > > Details..." > > Where the Details can be in the current or another format or whatever > works for the contributor. The per-file summary would be available from > the pull request system, regardless of the formatting of the commit message. That's already so. The number of times I had to reformat log messages for casual contributors is too large to remember. You just suggest to codify that, so they won't feel obliged to even try to format the messages as we want them. > EZ> The advantage of the current formatting is that we have Emacs features > EZ> which support it very well. Any other formatting will have to grow a > EZ> similar support first. And then we all need to re-learn. > > Good points. I'm trying to say all the support code can move to the pull > request system, so it won't go away, and the transition can be gradual. Sorry, I don't understand how this will work. Can you explain? Let's say I received a pull request, and the commit's log message needs reformatting. What next? > EZ> IOW, isn't this suggestion going to favor casual contributors over > EZ> those who push commits day in and day out? > > Yes, exceptions should be made for those regular contributors. But you > know that some features merit discussion, even if a very senior > contributor wants them. Our current practice is to discuss when the commit is already pushed. > If I understand correctly, your concern is about logistics rather than > about the fundamental benefits of such a system. I share your concerns > and think the risk is worth the benefit. My concern is about the manpower. If we don't have enough, this is going to be an exercise in futility. So I'd suggest first to have enough patch reviewers step forward and volunteer, before we start thinking about such a process seriously. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 17:23 ` Eli Zaretskii @ 2016-07-06 17:44 ` Clément Pit--Claudel 2016-07-06 18:32 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Clément Pit--Claudel @ 2016-07-06 17:44 UTC (permalink / raw) To: emacs-devel [-- Attachment #1.1: Type: text/plain, Size: 228 bytes --] On 2016-07-06 13:23, Eli Zaretskii wrote: > So I'd suggest first to have enough patch reviewers step forward and > volunteer, before we start thinking about such a process seriously. I'm happy to look at lisp patches :) [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 17:44 ` Clément Pit--Claudel @ 2016-07-06 18:32 ` Eli Zaretskii 2016-07-06 19:16 ` Clément Pit--Claudel 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-07-06 18:32 UTC (permalink / raw) To: Clément Pit--Claudel; +Cc: emacs-devel > From: Clément Pit--Claudel <clement.pit@gmail.com> > Date: Wed, 6 Jul 2016 13:44:46 -0400 > > I'm happy to look at lisp patches :) Thank you, and please go ahead. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 18:32 ` Eli Zaretskii @ 2016-07-06 19:16 ` Clément Pit--Claudel 2016-07-07 2:32 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Clément Pit--Claudel @ 2016-07-06 19:16 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel [-- Attachment #1.1: Type: text/plain, Size: 268 bytes --] On 2016-07-06 14:32, Eli Zaretskii wrote: >> From: Clément Pit--Claudel <clement.pit@gmail.com> >> > Date: Wed, 6 Jul 2016 13:44:46 -0400 >> > >> > I'm happy to look at lisp patches :) > Thank you, and please go ahead. Should I subscribe to the bugs list? [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 19:16 ` Clément Pit--Claudel @ 2016-07-07 2:32 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-07-07 2:32 UTC (permalink / raw) To: Clément Pit--Claudel; +Cc: emacs-devel > Cc: emacs-devel@gnu.org > From: Clément Pit--Claudel <clement.pit@gmail.com> > Date: Wed, 6 Jul 2016 15:16:31 -0400 > > >> > I'm happy to look at lisp patches :) > > Thank you, and please go ahead. > > Should I subscribe to the bugs list? Yes, please. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 17:03 ` Ted Zlatanov 2016-07-06 17:23 ` Eli Zaretskii @ 2016-07-06 17:39 ` John Wiegley 2016-07-07 1:18 ` Ted Zlatanov 2016-07-07 21:57 ` Richard Stallman 2 siblings, 1 reply; 454+ messages in thread From: John Wiegley @ 2016-07-06 17:39 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1189 bytes --] Hi Ted, I may be a strange one here, but I like the ChangeLog format for commit messages. It's not unreasonable to ask a submitter to take some care and pride in their description of the changes they've made -- after all, they've spent a fair bit of time preparing the change itself. A little discipline never hurt anyone, and pays dividends in the long run by making commit messages easier to scan through and read for us. Even if we didn't have the ChangeLog format, I'm sure we'd want *some* kind of consistent uniformity, so why not settle on the one we've had for decades? I've always been against the ChangeLog file, but we've moved past that, even if there are still some technical challenges to resolve. If writing a ChangeLog entry to describe a change increases the time spent crafting a patch by 10%, and if this loses a contributor who would have otherwise sent us code, I'm forced to wonder in what other ways have they've been hasty, such that working on the commit message was too much for them. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 629 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 17:39 ` John Wiegley @ 2016-07-07 1:18 ` Ted Zlatanov 2016-07-07 2:44 ` John Wiegley 2016-07-07 22:02 ` Richard Stallman 0 siblings, 2 replies; 454+ messages in thread From: Ted Zlatanov @ 2016-07-07 1:18 UTC (permalink / raw) To: emacs-devel On Wed, 06 Jul 2016 10:39:35 -0700 John Wiegley <jwiegley@gmail.com> wrote: JW> I may be a strange one here, but I like the ChangeLog format for commit JW> messages. It's not unreasonable to ask a submitter to take some care and pride JW> in their description of the changes they've made -- after all, they've spent a JW> fair bit of time preparing the change itself. All right, that's very reasonable. JW> If writing a ChangeLog entry to describe a change increases the time spent JW> crafting a patch by 10%, and if this loses a contributor who would have JW> otherwise sent us code, I'm forced to wonder in what other ways have they've JW> been hasty, such that working on the commit message was too much for them. I disagree with this. Processes such as the one here are learned behavior, not something that identifies good vs. bad programmers. On Wed, 06 Jul 2016 20:23:32 +0300 Eli Zaretskii <eliz@gnu.org> wrote: EZ> That's already so. The number of times I had to reformat log messages EZ> for casual contributors is too large to remember. You just suggest to EZ> codify that, so they won't feel obliged to even try to format the EZ> messages as we want them. ... EZ> Sorry, I don't understand how this will work. Can you explain? Let's EZ> say I received a pull request, and the commit's log message needs EZ> reformatting. What next? The code doesn't get merged until the commit is up to our standards. So even if the ChangeLog format doesn't change, this is still a good way to prevent bad code or bad commit messages from making it into Emacs. The fixes are up to the contributor; the reviewer will almost never have to rewrite things on their own. EZ> My concern is about the manpower. If we don't have enough, this is EZ> going to be an exercise in futility. EZ> So I'd suggest first to have enough patch reviewers step forward and EZ> volunteer, before we start thinking about such a process seriously. I think we already do this to some degree in emacs-bugs, but without a process (so casual contributors often don't know where to start). I agree manpower is a concern. Perhaps a pull request process would actually take work off our shoulders by simplifying the steps so more people can be reviewers. On Wed, 6 Jul 2016 19:41:15 +0200 Paul Eggert <eggert@cs.ucla.edu> wrote: PE> I have the sense that pull requests work better in projects with a large number PE> of occasional committers and a small number of full-time developers who triage PE> and review. Emacs development doesn't work that way: among other things, there PE> are no full-time developers, and we don't have enough reviewer time. So it may PE> not be a good fit for the pull-request model. (It might make sense to change PE> Emacs's development model but that's a larger topic....) Good points; Eli noted that as well. I don't have proof one way or the other, but my feeling is that it would be a change for the better. Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 1:18 ` Ted Zlatanov @ 2016-07-07 2:44 ` John Wiegley 2016-07-07 7:31 ` Paul Eggert 2016-07-07 22:02 ` Richard Stallman 1 sibling, 1 reply; 454+ messages in thread From: John Wiegley @ 2016-07-07 2:44 UTC (permalink / raw) To: emacs-devel >>>>> Ted Zlatanov <tzz@lifelogs.com> writes: JW> If writing a ChangeLog entry to describe a change increases the time spent JW> crafting a patch by 10%, and if this loses a contributor who would have JW> otherwise sent us code, I'm forced to wonder in what other ways have JW> they've been hasty, such that working on the commit message was too much JW> for them. > I disagree with this. Processes such as the one here are learned behavior, > not something that identifies good vs. bad programmers. You are right, of course, Ted, I'll remove that from my thinking as an indicator of sloppiness. :) -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 2:44 ` John Wiegley @ 2016-07-07 7:31 ` Paul Eggert 2016-07-07 13:18 ` Ted Zlatanov 0 siblings, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-07-07 7:31 UTC (permalink / raw) To: emacs-devel On 07/07/2016 04:44 AM, John Wiegley wrote: >> I disagree with this. Processes such as the one here are learned behavior, >> >not something that identifies good vs. bad programmers. > You are right, of course, Ted Yes and no. Good software engineers are adept at software processes, and this is mainly what distinguishes them from mere good programmers. If we want high-quality software then we need software engineering, not mere programming. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 7:31 ` Paul Eggert @ 2016-07-07 13:18 ` Ted Zlatanov 2016-07-07 14:26 ` Paul Eggert 0 siblings, 1 reply; 454+ messages in thread From: Ted Zlatanov @ 2016-07-07 13:18 UTC (permalink / raw) To: emacs-devel On Thu, 7 Jul 2016 09:31:55 +0200 Paul Eggert <eggert@cs.ucla.edu> wrote: PE> On 07/07/2016 04:44 AM, John Wiegley wrote: >>> I disagree with this. Processes such as the one here are learned behavior, >>> >not something that identifies good vs. bad programmers. >> You are right, of course, Ted PE> Yes and no. Good software engineers are adept at software processes, and this is PE> mainly what distinguishes them from mere good programmers. If we want PE> high-quality software then we need software engineering, not mere PE> programming. You're right, Paul. My point, however, is that writing ChangeLog-style commits is definitely not something you'll learn in school or in industry, and we shouldn't turn it into a shibboleth by itself. Working with GNU software is fun, but it's a tiny community compared to the world-wide developer community. It's hard to grow it if contributors are judged on the ChangeLog-style formatting on their first contributions. On Thu, 07 Jul 2016 12:29:23 +0100 phillip.lord@russet.org.uk (Phillip Lord) wrote: PL> Where PRs work better over direct commits is when ever someone wants PL> comments and feedback. There are two main reasons for this. One is where PL> commits need to be checked by someone else before going in; the emacs-25 PL> branch is in this state at the moment. PL> The other is where someone wants feedback on their work, because they PL> are new, or because they are fiddling with parts of Emacs which they PL> understand poorly. Exactly! What I'm suggesting would benefit those two cases the most. PL> Installing something like gerrit or kallithea would be nice (I have no PL> direct experience of using either, but they are similar to other PL> systems). However, this would be considerable work. PL> Perhaps, as a half way house, we could use the resources that we have. PL> PRs could go to the bug reporting system. This will, at least, keep all PL> the conversations in one place. If we can tag these with "has patch" PL> here as well, it will give an queue also. We would still need to do PL> something about the Emacs git, in terms of squashability; in practice, PL> this would probably require something like gitolite as allowing non-FF PL> pushes on all branches would be a bad thing. PL> This would not give a nice web interface, nor inline comments, but it's PL> a start. So maybe the workflow can be: 1) propose a patch on emacs-bug with tag `has patch'. A Git branch pointer is also acceptable? 2) a reviewer comments; patch/branch is reworked 3) reviewer signs off and commits patch / merges branch This is similar to how the Git project does it. It can be a bit chaotic, but seems to work for their scale (which is similar to Emacs' scale). It won't require new software. As Noah mentioned, we already have (1) with http://debbugs.gnu.org/cgi/pkgreport.cgi?package=emacs;include=tags%3Apatch;bug-rev=on but (2) and (3) are not "expected" or in any way documented. So the contributor docs would be adjusted to mention these steps. That's a pretty small amount of voluntary effort, and no one has to follow these steps that doesn't want to. I sincerely hate the current bug tracker, but am willing to work with it if that's what it takes to get this moving. As a first attempt, I'll post my gnus-cloud work when it's ready for review. On Thu, 7 Jul 2016 08:43:30 -0400 Noam Postavsky <npostavs@users.sourceforge.net> wrote: NP> So maybe we just need some more support in vc-git to make sending NP> patches less clunky? I've been sending patches to bug threads, and NP> often getting useful feedback on them (and since it's by email, the NP> comments can easily be inline). Personally, I don't find it more NP> clunky than pushing to a branch, and then opening a PR in a web NP> browser. For a single patch, e-mail works. For multiple commits, rebasing, adjusting, it can be overwhelming. NP> Yes, some patches are forgotten, but I don't see how a PR NP> "system" makes that less likely to happen, e.g., cask has a bunch of NP> open PRs sitting around: https://github.com/cask/cask/pulls. A PR system makes it easier to find forgotten submissions. Usually it can assign a reviewer, who then should get regular reminders. But, of course, it won't fix lack of manpower or lack of interest. It's just a virtual clerk. On Thu, 7 Jul 2016 12:46:07 +0000 Alan Mackenzie <acm@muc.de> wrote: AM> I don't know exactly what is meant by "pull request" and "pull request AM> system". I don't think they are established terms. AM> The term seems to imply that instead of a contributor pushing a change AM> from his machine to a central repository, some specially authorised AM> authority would pull the change from the contributor's machine. This AM> would seem to imply every contributor needing to set up an scp daemon on AM> his local machine, which doesn't feel like a Good Thing. They are well known today, and have existed (in the form of patch reviews) for a long time. Wikipedia doesn't have much, but https://help.github.com/articles/using-pull-requests/ has a pretty good overview. It shows the Github UI, but the steps are the same without it. The Git book has some good workflow suggestions as well https://git-scm.com/book/ch5-2.html Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 13:18 ` Ted Zlatanov @ 2016-07-07 14:26 ` Paul Eggert 2016-07-07 14:49 ` Ted Zlatanov 2016-07-07 15:39 ` Óscar Fuentes 0 siblings, 2 replies; 454+ messages in thread From: Paul Eggert @ 2016-07-07 14:26 UTC (permalink / raw) To: emacs-devel On 07/07/2016 03:18 PM, Ted Zlatanov wrote: > writing ChangeLog-style > commits is definitely not something you'll learn in school or in industry Not true. For example, the following school assignment has students writing ChangeLog-format entries: Change management. UCLA Computer Science 35L,Software Construction Laboratory, Spring 2016, Assignment 4. http://web.cs.ucla.edu/classes/winter16/cs35L/assign/assign4.html More generally, any good undergraduate software-engineering curriculum should cover change management and should have exercises where students describe, review and commit patches, merge branches, etc. There should be some well-defined procedure that students actually do (as opposed to merely reading about it).This stuff is basic nowadays. Of course we can't expect every new Emacs developer to know ChangeLog format, but that'd be true of any format. It's not too much to expect people to look at recent commits and use a similar format (this is standard practice pretty much everywhere). The format from a new user doesn't have to be perfect, after all. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 14:26 ` Paul Eggert @ 2016-07-07 14:49 ` Ted Zlatanov 2016-07-07 15:39 ` Óscar Fuentes 1 sibling, 0 replies; 454+ messages in thread From: Ted Zlatanov @ 2016-07-07 14:49 UTC (permalink / raw) To: emacs-devel On Thu, 7 Jul 2016 16:26:31 +0200 Paul Eggert <eggert@cs.ucla.edu> wrote: PE> On 07/07/2016 03:18 PM, Ted Zlatanov wrote: >> writing ChangeLog-style >> commits is definitely not something you'll learn in school or in industry PE> Not true. For example, the following school assignment has students writing PE> ChangeLog-format entries: PE> Change management. UCLA Computer Science 35L,Software Construction Laboratory, PE> Spring 2016, Assignment 4. PE> http://web.cs.ucla.edu/classes/winter16/cs35L/assign/assign4.html That is pretty cool :) I hope they can handle a few million students per semester! Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 14:26 ` Paul Eggert 2016-07-07 14:49 ` Ted Zlatanov @ 2016-07-07 15:39 ` Óscar Fuentes 2016-07-08 13:38 ` Richard Stallman 1 sibling, 1 reply; 454+ messages in thread From: Óscar Fuentes @ 2016-07-07 15:39 UTC (permalink / raw) To: emacs-devel Paul Eggert <eggert@cs.ucla.edu> writes: > More generally, any good undergraduate software-engineering curriculum > should cover change management and should have exercises where > students describe, review and commit patches, merge branches, etc. > There should be some well-defined procedure that students actually do > (as opposed to merely reading about it).This stuff is basic nowadays. GNU ChangeLogs, as used in practice, are so lame and thin on content that they certainly can't be taken seriously as a method of documenting changes. GNU ChangeLogs always looked to me as cargo cult and an excuse for not writing proper commit messages. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 15:39 ` Óscar Fuentes @ 2016-07-08 13:38 ` Richard Stallman 2016-07-08 14:02 ` Óscar Fuentes 0 siblings, 1 reply; 454+ messages in thread From: Richard Stallman @ 2016-07-08 13:38 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > GNU ChangeLogs, as used in practice, are so lame and thin on content > that they certainly can't be taken seriously as a method of documenting > changes. They are good for their purpose, which is to summarize which functions or objects were changed, when, and by whom. That's useful when you want to see which changes to look at to figure out when a bug got introduced. You haven't said what "content" you think is missing, so it is hard for me to respond further than that. However, if you're talking about explanations of the code, those are supposed to go in comments in the code. > GNU ChangeLogs always looked to me as cargo cult and an excuse for not > writing proper commit messages. There was no such thing as a commit message in 1985. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 13:38 ` Richard Stallman @ 2016-07-08 14:02 ` Óscar Fuentes 2016-07-08 14:15 ` Óscar Fuentes ` (2 more replies) 0 siblings, 3 replies; 454+ messages in thread From: Óscar Fuentes @ 2016-07-08 14:02 UTC (permalink / raw) To: Richard Stallman; +Cc: emacs-devel Richard Stallman <rms@gnu.org> writes: > > GNU ChangeLogs, as used in practice, are so lame and thin on content > > that they certainly can't be taken seriously as a method of documenting > > changes. > > They are good for their purpose, which is to summarize which functions > or objects were changed, when, and by whom. That's useful when > you want to see which changes to look at to figure out when a bug > got introduced. That information is already available from the VCS, on steroids. You can query the history of a function, ask which changes introduced or deleted a call to certain function... But the real damage ChangeLogs cause is their formulaic, almost mechanic aspect: people write a lot of minutiae instead of writing a commit message intended to help the reader, the same way good code comments are written. It is true that some hackers write good commit messages *and* ChangeLogs, but I'm under the impression that most people just write the changelog and consider that their job is done (after all, current policy for commit messages is to write a summary line and the > You haven't said what "content" you think is missing, so it is hard > for me to respond further than that. Just a few minutes ago I responded to another developer that asked on a private email about details about what a "proper commit message" means to me. Here is my response: In a nutshell, a proper commit message shall contain, either explicitly or implicitly, the what, why, where and how of the change. It must be informative and provide the info that the reader is interested on, without entering on unnecessary detail (the diff is readily available, there is no need to name each function touched by the change). The author must write it with the same mindset he chooses function and variable names, decides when it is a good idea to put a code comment, etc. > However, if you're talking about > explanations of the code, those are supposed to go in comments in the > code. Absolutely agreed. That's about putting each piece where it belongs. Some times, however, the code is not the best place to put some explanation (think of an scattered change or why some alternative that, at first, seems more adequate was discarded) and the commit message offers an alternative. The commit message is a good place to direct the reader to the key areas for understanding the change, inform the reader about current status and future steps and any other info that the author thinks is relevant for current and/or future hackers with an interest on the affected area. > > GNU ChangeLogs always looked to me as cargo cult and an excuse for not > > writing proper commit messages. > > There was no such thing as a commit message in 1985. Exactly. I'm pretty sure that if you had a good VCS at that time ChangeLogs would never came into being. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 14:02 ` Óscar Fuentes @ 2016-07-08 14:15 ` Óscar Fuentes 2016-07-08 14:24 ` Eli Zaretskii 2016-07-10 14:21 ` Richard Stallman 2 siblings, 0 replies; 454+ messages in thread From: Óscar Fuentes @ 2016-07-08 14:15 UTC (permalink / raw) To: emacs-devel Óscar Fuentes <ofv@wanadoo.es> writes: Sorry, sent too early. > But the real damage ChangeLogs cause is their formulaic, almost mechanic > aspect: people write a lot of minutiae instead of writing a commit > message intended to help the reader, the same way good code comments are > written. It is true that some hackers write good commit messages *and* > ChangeLogs, but I'm under the impression that most people just write the > changelog and consider that their job is done (after all, current policy > for commit messages is to write a summary line and the ... Changelog just below.) ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 14:02 ` Óscar Fuentes 2016-07-08 14:15 ` Óscar Fuentes @ 2016-07-08 14:24 ` Eli Zaretskii 2016-07-08 15:07 ` Óscar Fuentes 2016-07-10 14:21 ` Richard Stallman 2 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-07-08 14:24 UTC (permalink / raw) To: Óscar Fuentes; +Cc: rms, emacs-devel > From: Óscar Fuentes <ofv@wanadoo.es> > Date: Fri, 08 Jul 2016 16:02:29 +0200 > Cc: emacs-devel@gnu.org > > Richard Stallman <rms@gnu.org> writes: > > > > GNU ChangeLogs, as used in practice, are so lame and thin on content > > > that they certainly can't be taken seriously as a method of documenting > > > changes. > > > > They are good for their purpose, which is to summarize which functions > > or objects were changed, when, and by whom. That's useful when > > you want to see which changes to look at to figure out when a bug > > got introduced. > > That information is already available from the VCS, on steroids. You can > query the history of a function, ask which changes introduced or deleted > a call to certain function... Yes, but doing so on a large file that saw many changes is relatively slow. Scanning a ChangeLog is much faster, so I always use it as the first approximation, and only go to the likes of "git log -L" and "git annotate" if I have to. > But the real damage ChangeLogs cause is their formulaic, almost mechanic > aspect: people write a lot of minutiae instead of writing a commit > message intended to help the reader, the same way good code comments are > written. It is true that some hackers write good commit messages *and* > ChangeLogs, but I'm under the impression that most people just write the > changelog and consider that their job is done (after all, current policy > for commit messages is to write a summary line and the You are invited to look at our recent commit log messages, which are in the ChangeLog format, and point out the ones that fit the above description. I don't think you will find a lot of them, but maybe I'm mistaken. > In a nutshell, a proper commit message shall contain, either explicitly > or implicitly, the what, why, where and how of the change. It must be > informative and provide the info that the reader is interested on, > without entering on unnecessary detail (the diff is readily available, > there is no need to name each function touched by the change). The > author must write it with the same mindset he chooses function and > variable names, decides when it is a good idea to put a code comment, > etc. This conflates several distinct places where this information is held, making it sound that all of it should be in the commit log message. That is false, or at least I couldn't disagree more. First and foremost, the code should speak for itself, so the most detailed explanations should be in comments there. We didn't just replace the code by the VCS! Second, many times the information is in a prolonged discussion, in particular on the bug tracker. By including a reference to the bug report, we implicitly include all of it in the log message. As for "the diff is readily available, there is no need to name each function touched by the change" part, it is inaccurate: the VCS diff tool doesn't always show the name of the function or macro that is being changed. Moreover, if several functions/macros are changed in a single hunk, at most one of them will be named in the hunk header, the rest need to be deduced by painfully reading the diffs. I don't think we can say in good faith that this information is as readily available as in ChangeLog-style log messages. > Some times, however, the code is not the best place to put some > explanation (think of an scattered change or why some alternative that, > at first, seems more adequate was discarded) and the commit message > offers an alternative. The commit message is a good place to direct the > reader to the key areas for understanding the change, inform the reader > about current status and future steps and any other info that the author > thinks is relevant for current and/or future hackers with an interest on > the affected area. I find comments to be a better place for these situations as well (and made many comments of this kind over the years myself). The most important reason is discoverability: when one reads code, they usually won't look at the Git history of the code they go through, but comments they will see. Scattered changes are not a problem, you can always say "see such-and-such function". > > > GNU ChangeLogs always looked to me as cargo cult and an excuse for not > > > writing proper commit messages. > > > > There was no such thing as a commit message in 1985. > > Exactly. I'm pretty sure that if you had a good VCS at that time > ChangeLogs would never came into being. If history went another way, perhaps we wouldn't have Emacs as well. More to the point, fact is that no better methodology was invented. So history is not the only reason why we are still using this format. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 14:24 ` Eli Zaretskii @ 2016-07-08 15:07 ` Óscar Fuentes 2016-07-08 15:25 ` Eli Zaretskii ` (2 more replies) 0 siblings, 3 replies; 454+ messages in thread From: Óscar Fuentes @ 2016-07-08 15:07 UTC (permalink / raw) To: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> That information is already available from the VCS, on steroids. You can >> query the history of a function, ask which changes introduced or deleted >> a call to certain function... > > Yes, but doing so on a large file that saw many changes is relatively > slow. Scanning a ChangeLog is much faster, so I always use it as the > first approximation, and only go to the likes of "git log -L" and > "git annotate" if I have to. You rarely are interested on the whole file. vc-region-history makes wonders when you care about part of the file (a function, for instance.) Using the `annotate' interface has the advantage of bringing in the rest of VC: one key and you see the patch that introduced the change, another key and you see the commit message, yet another key and you can annotate the function as it was before the change, and so on. Tools such as git-timemachine.el makes the process even more effective. >> But the real damage ChangeLogs cause is their formulaic, almost mechanic >> aspect: people write a lot of minutiae instead of writing a commit >> message intended to help the reader, the same way good code comments are >> written. It is true that some hackers write good commit messages *and* >> ChangeLogs, but I'm under the impression that most people just write the >> changelog and consider that their job is done (after all, current policy >> for commit messages is to write a summary line and the > > You are invited to look at our recent commit log messages, which are > in the ChangeLog format, and point out the ones that fit the above > description. I don't think you will find a lot of them, but maybe I'm > mistaken. Just the second commit on the log output: Remove just input mark * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove just MARK. no hint about why it was necessary. About 3 commits below: Disable App Nap (bug#22993) * nextstep/templates/Info.plist.in: Insert AppNap disable code. No hint about why it was necessary, except for the bug# (I hope the reason for the change is documented there, along with its implications; the bug is still open). Besides, having to jump to the bug is a nuisance (some people mentioned that having the ChangeLogs readily available on the tarballs is an advantage.) It is not necessary to duplicate the whole discussion, but briefly mentioning what the problem was and why it was decided to solve it this way would be helpful. Yet a two or three commits below: Fix an error in Tramp for rsync * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Make it work for "rsync". (tramp-make-copy-program-file-name): Apply `directory-file-name'. There is no even bug # here. And so on. >> In a nutshell, a proper commit message shall contain, either explicitly >> or implicitly, the what, why, where and how of the change. It must be >> informative and provide the info that the reader is interested on, >> without entering on unnecessary detail (the diff is readily available, >> there is no need to name each function touched by the change). The >> author must write it with the same mindset he chooses function and >> variable names, decides when it is a good idea to put a code comment, >> etc. > > This conflates several distinct places where this information is held, > making it sound that all of it should be in the commit log message. > That is false, or at least I couldn't disagree more. First and > foremost, the code should speak for itself, so the most detailed > explanations should be in comments there. We didn't just replace the > code by the VCS! I never said otherwise. I talked about the "right place" for putting information on the next paragraph. > Second, many times the information is in a prolonged discussion, in > particular on the bug tracker. By including a reference to the bug > report, we implicitly include all of it in the log message. It is not helpful to point the reader to a long discussion if the rationale for the change can be summarized (mentioning the bug# is a good thing, of course.) > As for "the diff is readily available, there is no need to name each > function touched by the change" part, it is inaccurate: the VCS diff > tool doesn't always show the name of the function or macro that is > being changed. Moreover, if several functions/macros are changed in a > single hunk, at most one of them will be named in the hunk header, the > rest need to be deduced by painfully reading the diffs. I don't think > we can say in good faith that this information is as readily available > as in ChangeLog-style log messages. Possibly not as readily available but, to be fair, how many times you are interested on the functions affected on a trivial way by a change? Usually you are interested on either how a given function evolved or on how the introduction of a fix/feature affected the code base. For the first case you have vc-region-history and for the second a combination of VC features and text search. >> Some times, however, the code is not the best place to put some >> explanation (think of an scattered change or why some alternative that, >> at first, seems more adequate was discarded) and the commit message >> offers an alternative. The commit message is a good place to direct the >> reader to the key areas for understanding the change, inform the reader >> about current status and future steps and any other info that the author >> thinks is relevant for current and/or future hackers with an interest on >> the affected area. > > I find comments to be a better place for these situations as well (and > made many comments of this kind over the years myself). The most > important reason is discoverability: when one reads code, they usually > won't look at the Git history of the code they go through, but > comments they will see. Scattered changes are not a problem, you can > always say "see such-and-such function". I see this on a different way: commit messages add to, and complement, code comments. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 15:07 ` Óscar Fuentes @ 2016-07-08 15:25 ` Eli Zaretskii 2016-07-08 22:58 ` Dmitry Gutov 2016-07-09 15:19 ` Tino Calancha 2016-07-09 16:59 ` Richard Stallman 2 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-07-08 15:25 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel > From: Óscar Fuentes <ofv@wanadoo.es> > Date: Fri, 08 Jul 2016 17:07:05 +0200 > > Eli Zaretskii <eliz@gnu.org> writes: > > >> That information is already available from the VCS, on steroids. You can > >> query the history of a function, ask which changes introduced or deleted > >> a call to certain function... > > > > Yes, but doing so on a large file that saw many changes is relatively > > slow. Scanning a ChangeLog is much faster, so I always use it as the > > first approximation, and only go to the likes of "git log -L" and > > "git annotate" if I have to. > > You rarely are interested on the whole file. vc-region-history makes > wonders when you care about part of the file (a function, for instance.) That's "git log -L" that I mentioned. It's startup time is not negligible. > Remove just input mark > > * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove > just MARK. > > no hint about why it was necessary. Did you look at the comments? > About 3 commits below: > > Disable App Nap (bug#22993) > > * nextstep/templates/Info.plist.in: Insert AppNap disable code. > > No hint about why it was necessary, except for the bug# Which is more than enough. > Besides, having to jump to the bug is a nuisance > (some people mentioned that having the ChangeLogs readily available on > the tarballs is an advantage.) It is not necessary to duplicate the > whole discussion, but briefly mentioning what the problem was and why it > was decided to solve it this way would be helpful. This request is unreasonable. If nothing else, it will make the bar for contributing higher, not lower. The information is recorded in the bug discussion, and there's no need to reproduce it in the log message. > Yet a two or three commits below: > > Fix an error in Tramp for rsync > > * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): > Make it work for "rsync". > (tramp-make-copy-program-file-name): Apply `directory-file-name'. > > There is no even bug # here. > > And so on. I see no problems in these log messages. > > This conflates several distinct places where this information is held, > > making it sound that all of it should be in the commit log message. > > That is false, or at least I couldn't disagree more. First and > > foremost, the code should speak for itself, so the most detailed > > explanations should be in comments there. We didn't just replace the > > code by the VCS! > > I never said otherwise. I talked about the "right place" for putting > information on the next paragraph. Which we already do. Improvements are always possible, but by and large our commit log messages are good. > > Second, many times the information is in a prolonged discussion, in > > particular on the bug tracker. By including a reference to the bug > > report, we implicitly include all of it in the log message. > > It is not helpful to point the reader to a long discussion if the > rationale for the change can be summarized (mentioning the bug# is a > good thing, of course.) There's no other practical way. It's unreasonable to ask people to summarize such discussions in a log message. > > As for "the diff is readily available, there is no need to name each > > function touched by the change" part, it is inaccurate: the VCS diff > > tool doesn't always show the name of the function or macro that is > > being changed. Moreover, if several functions/macros are changed in a > > single hunk, at most one of them will be named in the hunk header, the > > rest need to be deduced by painfully reading the diffs. I don't think > > we can say in good faith that this information is as readily available > > as in ChangeLog-style log messages. > > Possibly not as readily available but, to be fair, how many times you > are interested on the functions affected on a trivial way by a change? Always. For me, digging into an issue usually begins with a function I know is misbehaving. The very next question is: when was it last changed, how, and why. > Usually you are interested on either how a given function evolved or on > how the introduction of a fix/feature affected the code base. No, that's rarely the case. It only happens when I find a very old bug, and am curious who and when introduced it. > > I find comments to be a better place for these situations as well (and > > made many comments of this kind over the years myself). The most > > important reason is discoverability: when one reads code, they usually > > won't look at the Git history of the code they go through, but > > comments they will see. Scattered changes are not a problem, you can > > always say "see such-and-such function". > > I see this on a different way: commit messages add to, and complement, > code comments. They shouldn't. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 15:25 ` Eli Zaretskii @ 2016-07-08 22:58 ` Dmitry Gutov 2016-07-08 23:29 ` John Wiegley 2016-07-09 7:00 ` Eli Zaretskii 0 siblings, 2 replies; 454+ messages in thread From: Dmitry Gutov @ 2016-07-08 22:58 UTC (permalink / raw) To: Eli Zaretskii, Óscar Fuentes; +Cc: emacs-devel On 07/08/2016 06:25 PM, Eli Zaretskii wrote: >> From: Óscar Fuentes <ofv@wanadoo.es> >> You rarely are interested on the whole file. vc-region-history makes >> wonders when you care about part of the file (a function, for instance.) > > That's "git log -L" that I mentioned. It's startup time is not > negligible. Personally, I've never found vc-region-history too useful (as opposed to e.g. vc-annotate). >> Besides, having to jump to the bug is a nuisance >> (some people mentioned that having the ChangeLogs readily available on >> the tarballs is an advantage.) It is not necessary to duplicate the >> whole discussion, but briefly mentioning what the problem was and why it >> was decided to solve it this way would be helpful. > > This request is unreasonable. If nothing else, it will make the bar > for contributing higher, not lower. The information is recorded in > the bug discussion, and there's no need to reproduce it in the log > message. We do encourage that, actually, though not require (bar for contributing, etc). This can be especially useful when the issue is not-to-complex, but the bug discussion is long. Mentioned near "rationale for a change" in CONTRIBUTE. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 22:58 ` Dmitry Gutov @ 2016-07-08 23:29 ` John Wiegley 2016-07-08 23:39 ` vc-region-history, was: " Dmitry Gutov 2016-07-09 7:00 ` Eli Zaretskii 1 sibling, 1 reply; 454+ messages in thread From: John Wiegley @ 2016-07-08 23:29 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Óscar Fuentes, Eli Zaretskii, emacs-devel >>>>> Dmitry Gutov <dgutov@yandex.ru> writes: > Personally, I've never found vc-region-history too useful (as opposed to > e.g. vc-annotate). Aren't they quite different? vc-annotate shows me the last time any line was modified, while vc-region-history show me the history of that region, including all the times it was modified. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 454+ messages in thread
* vc-region-history, was: Re: Is it time to drop ChangeLogs? 2016-07-08 23:29 ` John Wiegley @ 2016-07-08 23:39 ` Dmitry Gutov 2016-07-09 7:03 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-07-08 23:39 UTC (permalink / raw) To: Eli Zaretskii, Óscar Fuentes, emacs-devel On 07/09/2016 02:29 AM, John Wiegley wrote: >> Personally, I've never found vc-region-history too useful (as opposed to >> e.g. vc-annotate). > > Aren't they quite different? vc-annotate shows me the last time any line was > modified, while vc-region-history show me the history of that region, > including all the times it was modified. Yes, but both are tools that can be used for examining how a given piece of code changed over time and why. Inside vc-annotate buffer, I use vc-annotate-revision-previous-to-line a lot (bound to `a'). vc-region-history, on the other hand, gives a narrow view of each changeset (but the full commit messages, which is understandable, but can be confusing), and it seems basically impossible for it to correctly follow the history of a given piece of code, as long as its complex enough. Granted, I've only ever tried it out in complex cases so far. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: vc-region-history, was: Re: Is it time to drop ChangeLogs? 2016-07-08 23:39 ` vc-region-history, was: " Dmitry Gutov @ 2016-07-09 7:03 ` Eli Zaretskii 2016-07-09 13:29 ` Kaushal Modi 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-07-09 7:03 UTC (permalink / raw) To: Dmitry Gutov; +Cc: ofv, emacs-devel > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Sat, 9 Jul 2016 02:39:01 +0300 > > vc-region-history, on the other hand, gives a narrow view of each > changeset (but the full commit messages, which is understandable, but > can be confusing), and it seems basically impossible for it to correctly > follow the history of a given piece of code, as long as its complex enough. That's very far from my experience. I frequently need to investigate fragments of code which have very long histories, and "log -L" always gives me the full picture, even when the code in question changed significantly, right to the commit that first introduced the code. Perhaps the secret is in choosing the appropriate region. I normally try to submit the entire function where the code lives, and it works very well. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: vc-region-history, was: Re: Is it time to drop ChangeLogs? 2016-07-09 7:03 ` Eli Zaretskii @ 2016-07-09 13:29 ` Kaushal Modi 0 siblings, 0 replies; 454+ messages in thread From: Kaushal Modi @ 2016-07-09 13:29 UTC (permalink / raw) To: Eli Zaretskii, Dmitry Gutov; +Cc: ofv, emacs-devel [-- Attachment #1: Type: text/plain, Size: 939 bytes --] If the discussion is on the usefulness of vc-region-history, then it has been very useful for me. Coincidentally, just yesterday, I bound that command to "C-x v H" in my config, after I realized that I had been doing M-x vc-region-history for a few dozen times. I always wondered why this command was not bound to the "C-x v" map, and have also created a little patch for master branch to add that binding. On Sat, Jul 9, 2016, 3:04 AM Eli Zaretskii <eliz@gnu.org> wrote: > That's very far from my experience. I frequently need to investigate > fragments of code which have very long histories, and "log -L" always > gives me the full picture, even when the code in question changed > significantly, right to the commit that first introduced the code. > > Perhaps the secret is in choosing the appropriate region. I normally > try to submit the entire function where the code lives, and it works > very well. > -- -- Kaushal Modi [-- Attachment #2: Type: text/html, Size: 1357 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 22:58 ` Dmitry Gutov 2016-07-08 23:29 ` John Wiegley @ 2016-07-09 7:00 ` Eli Zaretskii 2016-07-09 23:04 ` Dmitry Gutov 1 sibling, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-07-09 7:00 UTC (permalink / raw) To: Dmitry Gutov; +Cc: ofv, emacs-devel > Cc: emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Sat, 9 Jul 2016 01:58:48 +0300 > > On 07/08/2016 06:25 PM, Eli Zaretskii wrote: > >> From: Óscar Fuentes <ofv@wanadoo.es> > > >> You rarely are interested on the whole file. vc-region-history makes > >> wonders when you care about part of the file (a function, for instance.) > > > > That's "git log -L" that I mentioned. It's startup time is not > > negligible. > > Personally, I've never found vc-region-history too useful (as opposed to > e.g. vc-annotate). I do use "git annotate" at first, but it will only show the last commit that changed the code you are investigating, and I find this too frequently to be some reformatting or other similar cleanup that is not really what I want. Then going back in history with "git annotate" is inconvenient, so "git log -L" is better. In any case, the startup times of 'annotate' and 'log -L' are comparable, and both are non-negligible. > >> Besides, having to jump to the bug is a nuisance > >> (some people mentioned that having the ChangeLogs readily available on > >> the tarballs is an advantage.) It is not necessary to duplicate the > >> whole discussion, but briefly mentioning what the problem was and why it > >> was decided to solve it this way would be helpful. > > > > This request is unreasonable. If nothing else, it will make the bar > > for contributing higher, not lower. The information is recorded in > > the bug discussion, and there's no need to reproduce it in the log > > message. > > We do encourage that, actually, though not require (bar for > contributing, etc). This can be especially useful when the issue is > not-to-complex, but the bug discussion is long. > > Mentioned near "rationale for a change" in CONTRIBUTE. Right, but this discussion is about the requirements, not about the stuff for which one gets extra bonus points. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-09 7:00 ` Eli Zaretskii @ 2016-07-09 23:04 ` Dmitry Gutov 2016-07-10 2:42 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-07-09 23:04 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ofv, emacs-devel On 07/09/2016 10:00 AM, Eli Zaretskii wrote: > I do use "git annotate" at first, but it will only show the last > commit that changed the code you are investigating, and I find this > too frequently to be some reformatting or other similar cleanup that > is not really what I want. On the other hand, region-history will show you all commits that touched a given region. And you'll have to page through all of them if the interesting change happened long ago. > Then going back in history with "git > annotate" is inconvenient, so "git log -L" is better. I find `a' very convenient. > In any case, the startup times of 'annotate' and 'log -L' are > comparable, and both are non-negligible. Sure, but grepping through all NEWS or ChangeLog files doesn't happen instantly either. >>> This request is unreasonable. If nothing else, it will make the bar >>> for contributing higher, not lower. The information is recorded in >>> the bug discussion, and there's no need to reproduce it in the log >>> message. >> >> We do encourage that, actually, though not require (bar for >> contributing, etc). This can be especially useful when the issue is >> not-to-complex, but the bug discussion is long. >> >> Mentioned near "rationale for a change" in CONTRIBUTE. > > Right, but this discussion is about the requirements, not about the > stuff for which one gets extra bonus points. The arguments started with "ChangeLogs take a long time to write", but somehow mutated into "committers don't put the information I'd want into the entries". ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-09 23:04 ` Dmitry Gutov @ 2016-07-10 2:42 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-07-10 2:42 UTC (permalink / raw) To: Dmitry Gutov; +Cc: ofv, emacs-devel > Cc: ofv@wanadoo.es, emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Sun, 10 Jul 2016 02:04:55 +0300 > > > In any case, the startup times of 'annotate' and 'log -L' are > > comparable, and both are non-negligible. > > Sure, but grepping through all NEWS or ChangeLog files doesn't happen > instantly either. Its startup time is virtually zero, and then it's just browsing through results, like with the other methods. A failure to find anything is very fast, unlike with the other methods. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 15:07 ` Óscar Fuentes 2016-07-08 15:25 ` Eli Zaretskii @ 2016-07-09 15:19 ` Tino Calancha 2016-07-09 16:59 ` Richard Stallman 2 siblings, 0 replies; 454+ messages in thread From: Tino Calancha @ 2016-07-09 15:19 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1903 bytes --] On Fri, 8 Jul 2016, Óscar Fuentes wrote: > Just the second commit on the log output: > > Remove just input mark > > * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove > just MARK. > > no hint about why it was necessary. Sorry for not being more clear in my commit, and thanks for mentioned it, so i can try do it better next time. IMO, from this commit one emacs developper should conclude: 1) Its a change in file: lisp/ibuffer.el 2) Affects a func. to unmark buffers. 3) Affects the behaviour when an input arg (MARK) satisfy one condition (not equal ?\r): it will remove (unmark) just buffers with mark being MARK. *) Fix? Enhancement? Unclear. After that, a reader interested in the commit could check the diffs: i agree that in this case the diffs are not helpful to understand the necessity of the change. Then, a really interested reader could easily put the point in the func. name between parens and do: F1-f RET (That automatically confirms 2). After my commit the function spread 29 lines: it fully matches within my laptop screen (with average screen size). The first 3 lines help to understand the thing: '(defun ibuffer-unmark-all (mark) "Unmark all buffers with mark MARK." (interactive "cRemove marks (RET means all):") ' Basically, a command unmarking buffers marked with MARK; if MARK equals ?\r then all marked buffers are unmarked. This is what is written in the commit, so the reader should conclude that this is a fix instead of an enhancement. I don't know how much average time could take this for an experience emacs developer; negligible i would say: probably Eli can do this almost while taking a nap. I got the write permissions in this project last month and i am still a newby in git. For my lack of experience my commits are far to be perfect. Sorry. I am sure they will be better and better just with the practice. Tino ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 15:07 ` Óscar Fuentes 2016-07-08 15:25 ` Eli Zaretskii 2016-07-09 15:19 ` Tino Calancha @ 2016-07-09 16:59 ` Richard Stallman 2 siblings, 0 replies; 454+ messages in thread From: Richard Stallman @ 2016-07-09 16:59 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Remove just input mark > * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove > just MARK. > no hint about why it was necessary. That explanation should be in comments in the code. > About 3 commits below: > Disable App Nap (bug#22993) > * nextstep/templates/Info.plist.in: Insert AppNap disable code. > No hint about why it was necessary, except for the bug# Likewise. The point is, you should not have to go to any sort of log to see the explanations for why the code needs to work this way. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 14:02 ` Óscar Fuentes 2016-07-08 14:15 ` Óscar Fuentes 2016-07-08 14:24 ` Eli Zaretskii @ 2016-07-10 14:21 ` Richard Stallman 2 siblings, 0 replies; 454+ messages in thread From: Richard Stallman @ 2016-07-10 14:21 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > It is true that some hackers write good commit messages *and* > ChangeLogs, but I'm under the impression that most people just write the > changelog and consider that their job is done (after all, current policy > for commit messages is to write a summary line and the There must be some misunderstanding. Nowadays, in Emacs, there is only one log entry. It is supposed to contain an overall summary, followed by the details of which entities were changed and how. > Absolutely agreed. That's about putting each piece where it belongs. > Some times, however, the code is not the best place to put some > explanation (think of an scattered change or why some alternative that, > at first, seems more adequate was discarded) and the commit message > offers an alternative. When I wanted to put an explanation in comments in the code, I could always find a natural place to put it. > > There was no such thing as a commit message in 1985. > Exactly. I'm pretty sure that if you had a good VCS at that time > ChangeLogs would never came into being. We can't tell what _would have_ happened, but all the time I have used a VCS I still wanted changelogs just as much as ever. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 1:18 ` Ted Zlatanov 2016-07-07 2:44 ` John Wiegley @ 2016-07-07 22:02 ` Richard Stallman 1 sibling, 0 replies; 454+ messages in thread From: Richard Stallman @ 2016-07-07 22:02 UTC (permalink / raw) To: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > JW> I may be a strange one here, but I like the ChangeLog format for commit > JW> messages. It's not unreasonable to ask a submitter to take some care and pride > JW> in their description of the changes they've made -- after all, they've spent a > JW> fair bit of time preparing the change itself. > All right, that's very reasonable. I think so too. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 17:03 ` Ted Zlatanov 2016-07-06 17:23 ` Eli Zaretskii 2016-07-06 17:39 ` John Wiegley @ 2016-07-07 21:57 ` Richard Stallman 2 siblings, 0 replies; 454+ messages in thread From: Richard Stallman @ 2016-07-07 21:57 UTC (permalink / raw) To: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > EZ> What format do you suggest instead? > "Summary line. > Details..." > Where the Details can be in the current or another format or whatever > works for the contributor. That's exactly the opposite of what we need. These records will be read by hundreds of people. We need them to be kept in a uniform way to make them reliable. The per-file summary would be available from > the pull request system, regardless of the formatting of the commit message. What exactly would be "available from" that system? What does the material look like? Is it hand-written or auto-generated? -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 16:06 ` Ted Zlatanov 2016-07-06 16:36 ` Eli Zaretskii @ 2016-07-06 17:41 ` Paul Eggert 2016-07-07 11:29 ` Phillip Lord 1 sibling, 1 reply; 454+ messages in thread From: Paul Eggert @ 2016-07-06 17:41 UTC (permalink / raw) To: emacs-devel On 07/06/2016 06:06 PM, Ted Zlatanov wrote: > using a pull request system would reduce the > need for writing every commit message as if it was going into a > ChangeLog I don't see why; if we're going to keep the current format, pull requests should use the format too. I have the sense that pull requests work better in projects with a large number of occasional committers and a small number of full-time developers who triage and review. Emacs development doesn't work that way: among other things, there are no full-time developers, and we don't have enough reviewer time. So it may not be a good fit for the pull-request model. (It might make sense to change Emacs's development model but that's a larger topic....) ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 17:41 ` Paul Eggert @ 2016-07-07 11:29 ` Phillip Lord 2016-07-07 12:43 ` Noam Postavsky 2016-07-07 15:25 ` Eli Zaretskii 0 siblings, 2 replies; 454+ messages in thread From: Phillip Lord @ 2016-07-07 11:29 UTC (permalink / raw) To: Paul Eggert; +Cc: emacs-devel Paul Eggert <eggert@cs.ucla.edu> writes: > On 07/06/2016 06:06 PM, Ted Zlatanov wrote: >> using a pull request system would reduce the >> need for writing every commit message as if it was going into a >> ChangeLog > I don't see why; if we're going to keep the current format, pull requests > should use the format too. > > I have the sense that pull requests work better in projects with a large > number of occasional committers and a small number of full-time developers who > triage and review. Emacs development doesn't work that way: among other > things, there are no full-time developers, and we don't have enough reviewer > time. So it may not be a good fit for the pull-request model. (It might make > sense to change Emacs's development model but that's a larger topic....) I think that this is not true. I have recently sent patches into, for example, ensime which is a fairly small development. Also, Cask uses an always PR model which means that all changes get looked at by at least two people. Where PRs work better over direct commits is when ever someone wants comments and feedback. There are two main reasons for this. One is where commits need to be checked by someone else before going in; the emacs-25 branch is in this state at the moment. The other is where someone wants feedback on their work, because they are new, or because they are fiddling with parts of Emacs which they understand poorly. I've found this extremely useful, for instance, with my changes to the undo system, which involved extensive communications mostly with Stefan. With Cask, also, I have found this very useful, since I've had to make changes to in three different languages. At the moment, we have a poor workflow for supporting this. - I can push a branch onto the Emacs git. But, this is not squashable, so the final state before the merge is hard to do - There is no system for queuing pull requests, so sometimes things get forgotten - I can send patches, but this is clunk compared to pushing a branch within version control. - There is no system for viewing feedback about an individual patch. - There is no system for adding inline comments to patches Installing something like gerrit or kallithea would be nice (I have no direct experience of using either, but they are similar to other systems). However, this would be considerable work. Perhaps, as a half way house, we could use the resources that we have. PRs could go to the bug reporting system. This will, at least, keep all the conversations in one place. If we can tag these with "has patch" here as well, it will give an queue also. We would still need to do something about the Emacs git, in terms of squashability; in practice, this would probably require something like gitolite as allowing non-FF pushes on all branches would be a bad thing. This would not give a nice web interface, nor inline comments, but it's a start. Phil ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 11:29 ` Phillip Lord @ 2016-07-07 12:43 ` Noam Postavsky 2016-07-07 12:55 ` Phillip Lord 2016-07-07 15:25 ` Eli Zaretskii 1 sibling, 1 reply; 454+ messages in thread From: Noam Postavsky @ 2016-07-07 12:43 UTC (permalink / raw) To: Phillip Lord; +Cc: Paul Eggert, Emacs developers On Thu, Jul 7, 2016 at 7:29 AM, Phillip Lord <phillip.lord@russet.org.uk> wrote: > At the moment, we have a poor workflow for supporting this. > > - I can push a branch onto the Emacs git. But, this is not squashable, > so the final state before the merge is hard to do > - There is no system for queuing pull requests, so sometimes things get > forgotten > - I can send patches, but this is clunk compared to pushing a branch > within version control. > - There is no system for viewing feedback about an individual patch. > - There is no system for adding inline comments to patches So maybe we just need some more support in vc-git to make sending patches less clunky? I've been sending patches to bug threads, and often getting useful feedback on them (and since it's by email, the comments can easily be inline). Personally, I don't find it more clunky than pushing to a branch, and then opening a PR in a web browser. Yes, some patches are forgotten, but I don't see how a PR "system" makes that less likely to happen, e.g., cask has a bunch of open PRs sitting around: https://github.com/cask/cask/pulls. > Perhaps, as a half way house, we could use the resources that we have. > PRs could go to the bug reporting system. This will, at least, keep all > the conversations in one place. If we can tag these with "has patch" > here as well, it will give an queue also. I thought that was the current system. Here is the queue: http://debbugs.gnu.org/cgi/pkgreport.cgi?package=emacs;include=tags%3Apatch;bug-rev=on ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 12:43 ` Noam Postavsky @ 2016-07-07 12:55 ` Phillip Lord 2016-07-07 13:04 ` Andreas Schwab 2016-07-07 13:15 ` Noam Postavsky 0 siblings, 2 replies; 454+ messages in thread From: Phillip Lord @ 2016-07-07 12:55 UTC (permalink / raw) To: Noam Postavsky; +Cc: Paul Eggert, Emacs developers Noam Postavsky <npostavs@users.sourceforge.net> writes: > On Thu, Jul 7, 2016 at 7:29 AM, Phillip Lord <phillip.lord@russet.org.uk> wrote: >> At the moment, we have a poor workflow for supporting this. >> >> - I can push a branch onto the Emacs git. But, this is not squashable, >> so the final state before the merge is hard to do >> - There is no system for queuing pull requests, so sometimes things get >> forgotten >> - I can send patches, but this is clunk compared to pushing a branch >> within version control. >> - There is no system for viewing feedback about an individual patch. >> - There is no system for adding inline comments to patches > > So maybe we just need some more support in vc-git to make sending > patches less clunky? Yes, that would help, assuming that it's not there already. But, again, I still feel that patches are fairly "old school". > I've been sending patches to bug threads, and often getting useful > feedback on them (and since it's by email, the comments can easily be > inline). Personally, I don't find it more clunky than pushing to a > branch, and then opening a PR in a web browser. This is true for the first patch, but not true for additional commits. > Yes, some patches are forgotten, but I don't see how a PR "system" > makes that less likely to happen, e.g., cask has a bunch of open PRs > sitting around: https://github.com/cask/cask/pulls. I think you have just demonstrated my point. You found out all the outstanding ones also. >> Perhaps, as a half way house, we could use the resources that we have. >> PRs could go to the bug reporting system. This will, at least, keep all >> the conversations in one place. If we can tag these with "has patch" >> here as well, it will give an queue also. > > I thought that was the current system. Here is the queue: > http://debbugs.gnu.org/cgi/pkgreport.cgi?package=emacs;include=tags%3Apatch;bug-rev=on Again, also my point. Phil ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 12:55 ` Phillip Lord @ 2016-07-07 13:04 ` Andreas Schwab 2016-07-07 16:24 ` Phillip Lord 2016-07-07 13:15 ` Noam Postavsky 1 sibling, 1 reply; 454+ messages in thread From: Andreas Schwab @ 2016-07-07 13:04 UTC (permalink / raw) To: Phillip Lord; +Cc: Paul Eggert, Emacs developers, Noam Postavsky phillip.lord@russet.org.uk (Phillip Lord) writes: > I still feel that patches are fairly "old school". linux-kernel@ is full of patches. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 13:04 ` Andreas Schwab @ 2016-07-07 16:24 ` Phillip Lord 0 siblings, 0 replies; 454+ messages in thread From: Phillip Lord @ 2016-07-07 16:24 UTC (permalink / raw) To: Andreas Schwab; +Cc: Paul Eggert, Emacs developers, Noam Postavsky Andreas Schwab <schwab@suse.de> writes: > phillip.lord@russet.org.uk (Phillip Lord) writes: > >> I still feel that patches are fairly "old school". > > linux-kernel@ is full of patches. Yes, this is true. However, I would say that linux-kernel also has some significant issues in terms of user unfriendliness. Of course not all of this is due to software. I believe that they use patchwork, though, which provides threaded discussion of patches. Phil ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 12:55 ` Phillip Lord 2016-07-07 13:04 ` Andreas Schwab @ 2016-07-07 13:15 ` Noam Postavsky 2016-07-07 16:28 ` Phillip Lord 1 sibling, 1 reply; 454+ messages in thread From: Noam Postavsky @ 2016-07-07 13:15 UTC (permalink / raw) To: Phillip Lord; +Cc: Paul Eggert, Emacs developers On Thu, Jul 7, 2016 at 8:55 AM, Phillip Lord <phillip.lord@russet.org.uk> wrote: > >> I've been sending patches to bug threads, and often getting useful >> feedback on them (and since it's by email, the comments can easily be >> inline). Personally, I don't find it more clunky than pushing to a >> branch, and then opening a PR in a web browser. > > This is true for the first patch, but not true for additional commits. Yeah, you're right about that. Most of my Emacs patches so far have been small enough that it didn't really bother me too much. > > >> Yes, some patches are forgotten, but I don't see how a PR "system" >> makes that less likely to happen, e.g., cask has a bunch of open PRs >> sitting around: https://github.com/cask/cask/pulls. > > I think you have just demonstrated my point. You found out all the > outstanding ones also. > > >>> Perhaps, as a half way house, we could use the resources that we have. >>> PRs could go to the bug reporting system. This will, at least, keep all >>> the conversations in one place. If we can tag these with "has patch" >>> here as well, it will give an queue also. >> >> I thought that was the current system. Here is the queue: >> http://debbugs.gnu.org/cgi/pkgreport.cgi?package=emacs;include=tags%3Apatch;bug-rev=on > > Again, also my point. If your point is that there are more open patches in Emacs than cask, IMO that's mostly because Emacs is a larger and older project. > > Phil ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 13:15 ` Noam Postavsky @ 2016-07-07 16:28 ` Phillip Lord 0 siblings, 0 replies; 454+ messages in thread From: Phillip Lord @ 2016-07-07 16:28 UTC (permalink / raw) To: Noam Postavsky; +Cc: Paul Eggert, Emacs developers Noam Postavsky <npostavs@users.sourceforge.net> writes: >>> I've been sending patches to bug threads, and often getting useful >>> feedback on them (and since it's by email, the comments can easily be >>> inline). Personally, I don't find it more clunky than pushing to a >>> branch, and then opening a PR in a web browser. >> >> This is true for the first patch, but not true for additional commits. > > Yeah, you're right about that. Most of my Emacs patches so far have > been small enough that it didn't really bother me too much. Indeed. And there are many patches to emacs which affect one small part of Emacs. No worries. I don't think it's necessarily the case that all changes should go through PR. It depends on the experience of the developer and the criticality of the code. From my own perspective, I like code review, and would always be happy to have feedback on my code, but that many not be possible. >>> Yes, some patches are forgotten, but I don't see how a PR "system" >>> makes that less likely to happen, e.g., cask has a bunch of open PRs >>> sitting around: https://github.com/cask/cask/pulls. >> >> I think you have just demonstrated my point. You found out all the >> outstanding ones also. >> >> >>>> Perhaps, as a half way house, we could use the resources that we have. >>>> PRs could go to the bug reporting system. This will, at least, keep all >>>> the conversations in one place. If we can tag these with "has patch" >>>> here as well, it will give an queue also. >>> >>> I thought that was the current system. Here is the queue: >>> http://debbugs.gnu.org/cgi/pkgreport.cgi?package=emacs;include=tags%3Apatch;bug-rev=on >> >> Again, also my point. > > If your point is that there are more open patches in Emacs than cask, > IMO that's mostly because Emacs is a larger and older project. No, sorry, I was being opaque. Having a nice queue system is a good thing, and we could use debbugs to do pull requests also, was my point. Phil ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 11:29 ` Phillip Lord 2016-07-07 12:43 ` Noam Postavsky @ 2016-07-07 15:25 ` Eli Zaretskii 2016-07-07 17:24 ` Phillip Lord 1 sibling, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-07-07 15:25 UTC (permalink / raw) To: Phillip Lord; +Cc: eggert, emacs-devel > From: phillip.lord@russet.org.uk (Phillip Lord) > Date: Thu, 07 Jul 2016 12:29:23 +0100 > Cc: emacs-devel@gnu.org > > - I can push a branch onto the Emacs git. But, this is not squashable, > so the final state before the merge is hard to do > - There is no system for queuing pull requests, so sometimes things get > forgotten > - I can send patches, but this is clunk compared to pushing a branch > within version control. > - There is no system for viewing feedback about an individual patch. > - There is no system for adding inline comments to patches This will continue to be like that as long as we don't have enough core developers who understand enough of Emacs and can be trusted to approve changes. When (if) we do have enough of them, patches submitted to our 2 lists will be reviewed in time, and most of the above will just go away without a trace. Starting a PR system in the current conditions is just going to _increase_ the workload of the few overloaded people. E.g., I don't want to push changes for anyone else, ever: it takes too much of the little time I have to work on Emacs. I want this burden off-loaded to someone else. Guess what? patches that I said were okay can rot for many days without anyone with write access doing anything. I can only conclude they all are as busy as I am or busier. As long as this is the situation, how could a PR system help, when it requires me to do _more_ than I have to now? > Installing something like gerrit or kallithea would be nice (I have no > direct experience of using either, but they are similar to other > systems). However, this would be considerable work. Exactly! > Perhaps, as a half way house, we could use the resources that we have. > PRs could go to the bug reporting system. This will, at least, keep all > the conversations in one place. If we can tag these with "has patch" > here as well, it will give an queue also. We already try doing that, as much as we can. Fortunately, a few people lately started actively reviewing bug reports, both old and new, and post analyzes, tag them, propose patches, etc. That's great, but we need more of them, and we need to wait for them to gain enough knowledge and experience to be able to overlook larger portions of Emacs (including the parts written in C, btw). This should be the main vector of our process improvement, at least for some time to come. Because nothing more substantial can happen until we have a critical mass of active maintainers. > We would still need to do something about the Emacs git, in terms of > squashability; in practice, this would probably require something > like gitolite as allowing non-FF pushes on all branches would be a > bad thing. I don't really see a problem. Why doesn't a feature branch or a scratch branch solve all of this nicely and easily? ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 15:25 ` Eli Zaretskii @ 2016-07-07 17:24 ` Phillip Lord 2016-07-07 19:57 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Phillip Lord @ 2016-07-07 17:24 UTC (permalink / raw) To: Eli Zaretskii; +Cc: eggert, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: > Starting a PR system in the current conditions is just going to > _increase_ the workload of the few overloaded people. E.g., I don't > want to push changes for anyone else, ever: it takes too much of the > little time I have to work on Emacs. I want this burden off-loaded to > someone else. Guess what? patches that I said were okay can rot for > many days without anyone with write access doing anything. I can only > conclude they all are as busy as I am or busier. As long as this is > the situation, how could a PR system help, when it requires me to do > _more_ than I have to now? I think in two ways. First, we do not have a system for managing PRs/patches in the queue. So, it's possible that people with outstanding patches are not busier than you, they just missed things. Secondly, in terms of pushing patches for someone else, this doesn't need to be harder than reviewing the patch and signaling that you are happy. Many PR management systems will do the merge after "LGTM". >> Perhaps, as a half way house, we could use the resources that we have. >> PRs could go to the bug reporting system. This will, at least, keep all >> the conversations in one place. If we can tag these with "has patch" >> here as well, it will give an queue also. > > We already try doing that, as much as we can. Fortunately, a few > people lately started actively reviewing bug reports, both old and > new, and post analyzes, tag them, propose patches, etc. That's great, > but we need more of them, and we need to wait for them to gain enough > knowledge and experience to be able to overlook larger portions of > Emacs (including the parts written in C, btw). This should be the > main vector of our process improvement, at least for some time to > come. Because nothing more substantial can happen until we have a > critical mass of active maintainers. I look at this the other way around. I think we are likely to get more developers, if it is easier to contribute. A project where you can send in a patch, and have some one give you feedback on it, will end up with more developers. >> We would still need to do something about the Emacs git, in terms of >> squashability; in practice, this would probably require something >> like gitolite as allowing non-FF pushes on all branches would be a >> bad thing. > > I don't really see a problem. Why doesn't a feature branch or a > scratch branch solve all of this nicely and easily? I think I have discussed this with you before. You have to create multiple feature branches, or do strange things, rather than just rebase, force push. Phil ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 17:24 ` Phillip Lord @ 2016-07-07 19:57 ` Eli Zaretskii 2016-07-07 23:50 ` Dmitry Gutov ` (2 more replies) 0 siblings, 3 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-07-07 19:57 UTC (permalink / raw) To: Phillip Lord; +Cc: eggert, emacs-devel > From: phillip.lord@russet.org.uk (Phillip Lord) > Cc: eggert@cs.ucla.edu, emacs-devel@gnu.org > Date: Thu, 07 Jul 2016 18:24:10 +0100 > > First, we do not have a system for managing PRs/patches in the > queue. So, it's possible that people with outstanding patches are > not busier than you, they just missed things. I just read the bug list and manage my email queue. How hard can that be? > Secondly, in terms of pushing patches for someone else, this doesn't > need to be harder than reviewing the patch and signaling that you are > happy. Many PR management systems will do the merge after "LGTM". Problem is, I don't find the subtle fine points that need addressing until I actually apply the patch: compiler warnings, code not according to our conventions, sometimes patch won't apply, etc. > I look at this the other way around. I think we are likely to get more > developers, if it is easier to contribute. I think we've already done a lot in that direction, and I don't see how can we be expected to do more. All the other projects I participate in make it harder, and yet no one complains or thinks they are hard on contributors. > A project where you can send in a patch, and have some one give you > feedback on it, will end up with more developers. Which is exactly what I said, and you objected. So now I'm confused what we are arguing about. > >> We would still need to do something about the Emacs git, in terms of > >> squashability; in practice, this would probably require something > >> like gitolite as allowing non-FF pushes on all branches would be a > >> bad thing. > > > > I don't really see a problem. Why doesn't a feature branch or a > > scratch branch solve all of this nicely and easily? > > I think I have discussed this with you before. You have to create > multiple feature branches, or do strange things, rather than just > rebase, force push. What's the problem with multiple branches? It's a very easy technique, and also very safe. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 19:57 ` Eli Zaretskii @ 2016-07-07 23:50 ` Dmitry Gutov 2016-07-08 11:28 ` Phillip Lord 2016-07-08 13:27 ` Ted Zlatanov 2 siblings, 0 replies; 454+ messages in thread From: Dmitry Gutov @ 2016-07-07 23:50 UTC (permalink / raw) To: Eli Zaretskii, Phillip Lord; +Cc: eggert, emacs-devel On 07/07/2016 10:57 PM, Eli Zaretskii wrote: > I just read the bug list and manage my email queue. How hard can that > be? A code review system will manage the patch queue for you, organize the discussion, hide the messages related to the code that has changed in the latest revision of the patch while still showing the rest. Maybe your email setup does all that already; mine doesn't. > I don't find the subtle fine points that need addressing > until I actually apply the patch: compiler warnings, code not > according to our conventions, sometimes patch won't apply, etc. The mature modern code review systems integrate with the VCS, and can check whether the patch applies to the current master (essentially, they check for merge conflicts, since submitting a patchset involves pushing it to a branch), lets you look at the code with the patch applied, review the conventions, run the CI build (which could include a check for compiler warnings, though I admit it's a difficult area), and then allow you to merge the patch with a click of a mouse (or whichever way we choose, in a new package that interacts with the review system's API). That said, before continuing this discussion, I'd rather we switch to a modern-ish bug tracker first. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 19:57 ` Eli Zaretskii 2016-07-07 23:50 ` Dmitry Gutov @ 2016-07-08 11:28 ` Phillip Lord 2016-07-08 13:56 ` Eli Zaretskii 2016-07-08 13:27 ` Ted Zlatanov 2 siblings, 1 reply; 454+ messages in thread From: Phillip Lord @ 2016-07-08 11:28 UTC (permalink / raw) To: Eli Zaretskii; +Cc: eggert, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> First, we do not have a system for managing PRs/patches in the >> queue. So, it's possible that people with outstanding patches are >> not busier than you, they just missed things. > > I just read the bug list and manage my email queue. How hard can that > be? It is okay, once you are used to it. >> Secondly, in terms of pushing patches for someone else, this doesn't >> need to be harder than reviewing the patch and signaling that you are >> happy. Many PR management systems will do the merge after "LGTM". > > Problem is, I don't find the subtle fine points that need addressing > until I actually apply the patch: compiler warnings, code not > according to our conventions, sometimes patch won't apply, etc. With a PR, it always applies. Compiler warnings obviously require an integrated continuous integration system (i.e. the PR is pre-built, tested and the potential merge is checked for conflicts). >> I look at this the other way around. I think we are likely to get more >> developers, if it is easier to contribute. > > I think we've already done a lot in that direction, and I don't see > how can we be expected to do more. All the other projects I > participate in make it harder, and yet no one complains or thinks they > are hard on contributors. The fundamental complexity is contributing is the software engineering. Tools do not really change that, of course, but that is not really a reason for not using good tools. >> I think I have discussed this with you before. You have to create >> multiple feature branches, or do strange things, rather than just >> rebase, force push. > > What's the problem with multiple branches? It's a very easy > technique, and also very safe. I think a system where you start off with feature/my-new-feature feature/my-new-feature-1 feature/my-new-feature-2 with consecutive squashes is not a good system. I think that the discussion is bottoming out here. If there is interest, I will be happy to investigate some of the options and produce a report of pros and cons. Alternatively, if the general feeling is, it's all fine, then no worries, I'll leave it. Phil ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 11:28 ` Phillip Lord @ 2016-07-08 13:56 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-07-08 13:56 UTC (permalink / raw) To: Phillip Lord; +Cc: eggert, emacs-devel > From: phillip.lord@russet.org.uk (Phillip Lord) > Cc: eggert@cs.ucla.edu, emacs-devel@gnu.org > Date: Fri, 08 Jul 2016 12:28:32 +0100 > > >> I think I have discussed this with you before. You have to create > >> multiple feature branches, or do strange things, rather than just > >> rebase, force push. > > > > What's the problem with multiple branches? It's a very easy > > technique, and also very safe. > > I think a system where you start off with > > feature/my-new-feature > feature/my-new-feature-1 > feature/my-new-feature-2 > > with consecutive squashes is not a good system. That's because you decided to squash. You don't have to. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 19:57 ` Eli Zaretskii 2016-07-07 23:50 ` Dmitry Gutov 2016-07-08 11:28 ` Phillip Lord @ 2016-07-08 13:27 ` Ted Zlatanov 2016-07-08 14:06 ` Eli Zaretskii ` (3 more replies) 2 siblings, 4 replies; 454+ messages in thread From: Ted Zlatanov @ 2016-07-08 13:27 UTC (permalink / raw) To: emacs-devel On Thu, 07 Jul 2016 22:57:46 +0300 Eli Zaretskii <eliz@gnu.org> wrote: EZ> Problem is, I don't find the subtle fine points that need addressing EZ> until I actually apply the patch: compiler warnings, code not EZ> according to our conventions, sometimes patch won't apply, etc. Typically this is addressed with a build system that takes every pull request and builds it, logging problems right into the pull request. EZ> All the other projects I EZ> participate in make it harder, and yet no one complains or thinks they EZ> are hard on contributors. I think there is a confirmation bias there: people tend to believe the feedback that confirms their existing views and discount the opposite. On Fri, 08 Jul 2016 12:28:32 +0100 phillip.lord@russet.org.uk (Phillip Lord) wrote: PL> I think that the discussion is bottoming out here. If there is interest, PL> I will be happy to investigate some of the options and produce a report PL> of pros and cons. Alternatively, if the general feeling is, it's all PL> fine, then no worries, I'll leave it. On Fri, 8 Jul 2016 02:50:31 +0300 Dmitry Gutov <dgutov@yandex.ru> wrote: DG> That said, before continuing this discussion, I'd rather we switch to a DG> modern-ish bug tracker first. As I said, I'll try using the (painful) bug tracker to do code reviews. Please consider me strongly in favor of a better code review system and a better bug tracker. Ideally they would be one and the same. On Thu, 07 Jul 2016 17:56:01 -0400 Richard Stallman <rms@gnu.org> wrote: RS> Are you saying that most projects do not keep track of which functions RS> are changed in each commit? RS> How can maintainers figure out how to solve problems without detailed RS> log records to show them which previous changes they need to study? The code review (pull request handling) system has all that information. For instance, you can search for error messages, not just the commits that fixed them. The real value emerges when the entire development workflow is captured in the same place, indexed for searching, and open for world-wide review and contribution. >> The pull request system can later provide *everything* that a >> ChangeLog could, RS> I am skeptical of this claim. How precisely will the pull request system RS> provide what we now get from the detailed lists of objects changed RS> in the log entries? The ChangeLog structure is something like this: top-level-message file1: message1 symbol1: message11 symbol2: message12 file2: message2 ... This can easily be encoded in a database table so it's searchable, indexed by symbol name or file name (to build a history), etc. as part of the pull request system. It can be semi-automatic: the system figures out the file and symbol changes, then the developer adds the rest (and the review doesn't end until this is done). The database can be part of the Emacs Git repository, it doesn't have to be something magical outside it. But that's an architectural decision. The end result is a lot like the ChangeLog format we have today... except it's structured data, linked to a *series* of commits *and* the code review on them. That piece doesn't exist, but I'm willing to bet that developing it is *much less* work than the man-hours that will be spent crafting the ChangeLog format over the coming years. Consider as well that it will be useful to the whole GNU project, not just Emacs. Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 13:27 ` Ted Zlatanov @ 2016-07-08 14:06 ` Eli Zaretskii 2016-07-08 14:22 ` Ted Zlatanov 2016-07-08 14:29 ` Óscar Fuentes 2016-07-08 14:13 ` Óscar Fuentes ` (2 subsequent siblings) 3 siblings, 2 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-07-08 14:06 UTC (permalink / raw) To: emacs-devel > From: Ted Zlatanov <tzz@lifelogs.com> > Date: Fri, 08 Jul 2016 09:27:55 -0400 > > EZ> All the other projects I > EZ> participate in make it harder, and yet no one complains or thinks they > EZ> are hard on contributors. > > I think there is a confirmation bias there: people tend to believe the > feedback that confirms their existing views and discount the opposite. I think you underestimate my abilities to avoid from such fallacies. It's almost an offense to say that. > That piece doesn't exist, but I'm willing to bet that developing it is > *much less* work than the man-hours that will be spent crafting the > ChangeLog format over the coming years. Actually, writing ChangeLog entries takes a negligible fraction of my time. I can almost do that while taking a nap. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 14:06 ` Eli Zaretskii @ 2016-07-08 14:22 ` Ted Zlatanov 2016-07-08 14:29 ` Eli Zaretskii 2016-07-08 14:29 ` Óscar Fuentes 1 sibling, 1 reply; 454+ messages in thread From: Ted Zlatanov @ 2016-07-08 14:22 UTC (permalink / raw) To: emacs-devel On Fri, 08 Jul 2016 17:06:36 +0300 Eli Zaretskii <eliz@gnu.org> wrote: >> From: Ted Zlatanov <tzz@lifelogs.com> >> Date: Fri, 08 Jul 2016 09:27:55 -0400 >> EZ> All the other projects I EZ> participate in make it harder, and yet no one complains or thinks they EZ> are hard on contributors. >> >> I think there is a confirmation bias there: people tend to believe the >> feedback that confirms their existing views and discount the opposite. EZ> I think you underestimate my abilities to avoid from such fallacies. EZ> It's almost an offense to say that. I was talking about all the people in those projects that are not complaining. Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 14:22 ` Ted Zlatanov @ 2016-07-08 14:29 ` Eli Zaretskii 2016-07-08 14:49 ` Ted Zlatanov 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-07-08 14:29 UTC (permalink / raw) To: emacs-devel > From: Ted Zlatanov <tzz@lifelogs.com> > Date: Fri, 08 Jul 2016 10:22:43 -0400 > > On Fri, 08 Jul 2016 17:06:36 +0300 Eli Zaretskii <eliz@gnu.org> wrote: > > >> From: Ted Zlatanov <tzz@lifelogs.com> > >> Date: Fri, 08 Jul 2016 09:27:55 -0400 > >> > EZ> All the other projects I > EZ> participate in make it harder, and yet no one complains or thinks they > EZ> are hard on contributors. > >> > >> I think there is a confirmation bias there: people tend to believe the > >> feedback that confirms their existing views and discount the opposite. > > EZ> I think you underestimate my abilities to avoid from such fallacies. > EZ> It's almost an offense to say that. > > I was talking about all the people in those projects that are not > complaining. That includes me. Besides, why would people in those other projects suffer from this bias, while people here don't? ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 14:29 ` Eli Zaretskii @ 2016-07-08 14:49 ` Ted Zlatanov 2016-07-08 15:18 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Ted Zlatanov @ 2016-07-08 14:49 UTC (permalink / raw) To: emacs-devel On Fri, 08 Jul 2016 17:29:48 +0300 Eli Zaretskii <eliz@gnu.org> wrote: >> From: Ted Zlatanov <tzz@lifelogs.com> >> Date: Fri, 08 Jul 2016 10:22:43 -0400 >> >> On Fri, 08 Jul 2016 17:06:36 +0300 Eli Zaretskii <eliz@gnu.org> wrote: >> >> >> From: Ted Zlatanov <tzz@lifelogs.com> >> >> Date: Fri, 08 Jul 2016 09:27:55 -0400 >> >> EZ> All the other projects I EZ> participate in make it harder, and yet no one complains or thinks they EZ> are hard on contributors. >> >> >> >> I think there is a confirmation bias there: people tend to believe the >> >> feedback that confirms their existing views and discount the opposite. >> EZ> I think you underestimate my abilities to avoid from such fallacies. EZ> It's almost an offense to say that. >> >> I was talking about all the people in those projects that are not >> complaining. EZ> That includes me. I'm hereby explicitly excluding you from my statement :) Please consider the wider implication, not the personal one. EZ> Besides, why would people in those other projects suffer from this EZ> bias, while people here don't? All people have this bias, see for example: Nickerson, R. S. (1998). Confirmation bias: A ubiquitous phenomenon in many guises. Review of General Psychology, 2(2), 175-220. Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 14:49 ` Ted Zlatanov @ 2016-07-08 15:18 ` Eli Zaretskii 2016-07-08 16:04 ` Ted Zlatanov 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-07-08 15:18 UTC (permalink / raw) To: emacs-devel > From: Ted Zlatanov <tzz@lifelogs.com> > Date: Fri, 08 Jul 2016 10:49:50 -0400 > > EZ> Besides, why would people in those other projects suffer from this > EZ> bias, while people here don't? > > All people have this bias, see for example: > > Nickerson, R. S. (1998). Confirmation bias: A ubiquitous phenomenon in > many guises. Review of General Psychology, 2(2), 175-220. Great, we are well on our way to explain any fact that contradicts our beliefs by quoting from papers on psychology! ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 15:18 ` Eli Zaretskii @ 2016-07-08 16:04 ` Ted Zlatanov 0 siblings, 0 replies; 454+ messages in thread From: Ted Zlatanov @ 2016-07-08 16:04 UTC (permalink / raw) To: emacs-devel On Fri, 08 Jul 2016 18:18:03 +0300 Eli Zaretskii <eliz@gnu.org> wrote: >> From: Ted Zlatanov <tzz@lifelogs.com> >> Date: Fri, 08 Jul 2016 10:49:50 -0400 >> >> Nickerson, R. S. (1998). Confirmation bias: A ubiquitous phenomenon in >> many guises. Review of General Psychology, 2(2), 175-220. EZ> Great, we are well on our way to explain any fact that contradicts our EZ> beliefs by quoting from papers on psychology! That was a citation, not a quote :) You asked for a plausible explanation for why no one in several projects complains about high barriers to contribution and I provided it. The citation was a shortcut so I didn't have to explain it in detail. The paper was actually a review of studies, showing significant empirical evidence, and not the original work on that topic by Peter Wason[1]. One way to prove me wrong is to look at the number of new contributors and churn (how many leave and don't come back) as a function of time, both in GNU projects and outside them. Is it correlated to the difficulty of contributing to a project? Is there any statistical evidence that high barriers discourage contribution? Is there any evidence of a correlation between code quality or bug counts with high barriers? That would be an interesting study that would benefit FSF/GNU as a whole, and would be much more convincing than our personal opinions. Ted [1] Wason, Peter C. (1960), "On the failure to eliminate hypotheses in a conceptual task", Quarterly Journal of Experimental Psychology (Psychology Press) 12 (3): 129–140. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 14:06 ` Eli Zaretskii 2016-07-08 14:22 ` Ted Zlatanov @ 2016-07-08 14:29 ` Óscar Fuentes 1 sibling, 0 replies; 454+ messages in thread From: Óscar Fuentes @ 2016-07-08 14:29 UTC (permalink / raw) To: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: Ted Zlatanov <tzz@lifelogs.com> >> Date: Fri, 08 Jul 2016 09:27:55 -0400 >> >> EZ> All the other projects I >> EZ> participate in make it harder, and yet no one complains or thinks they >> EZ> are hard on contributors. >> >> I think there is a confirmation bias there: people tend to believe the >> feedback that confirms their existing views and discount the opposite. > > I think you underestimate my abilities to avoid from such fallacies. > It's almost an offense to say that. Wow, Eli! One thing modern psychology taught us is that human thinking is anything but rational and objective. It is true that different individuals suffer on different levels of biased views, after-the-fact reasoning for previous actions, etc. but I'm skeptical of the existence of individuals who are able to be completely objective and rational for more than a few minutes. Since I subscribed Ted's point on a previous message, I'll ask for your forgiveness for considering you a human being. >> That piece doesn't exist, but I'm willing to bet that developing it is >> *much less* work than the man-hours that will be spent crafting the >> ChangeLog format over the coming years. > > Actually, writing ChangeLog entries takes a negligible fraction of my > time. I can almost do that while taking a nap. Good for you. You do a terrific job at documenting things in general, which includes writing good commit messages on addition of the Changelog entry. And you are the top-hacker of Emacs. You are anything but the typical contributor Ted is talking about. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 13:27 ` Ted Zlatanov 2016-07-08 14:06 ` Eli Zaretskii @ 2016-07-08 14:13 ` Óscar Fuentes 2016-07-08 14:27 ` Eli Zaretskii 2016-07-09 16:54 ` Richard Stallman 2016-07-20 13:28 ` debbugs tracker builds character (was: Is it time to drop ChangeLogs?) Ted Zlatanov 3 siblings, 1 reply; 454+ messages in thread From: Óscar Fuentes @ 2016-07-08 14:13 UTC (permalink / raw) To: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: > EZ> All the other projects I > EZ> participate in make it harder, and yet no one complains or thinks they > EZ> are hard on contributors. > > I think there is a confirmation bias there: people tend to believe the > feedback that confirms their existing views and discount the opposite. It is worse: those that think that the process makes things unnecessarily difficult probably will never contribute and hence you will never know about their existence, except for some passing comment on some other forum. That said, IMO writing (and learning to write) ChangeLogs on itself is not a big deterrent to contributing (for small contributions!) Its impact on the quality of commit messages is more concerning. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 14:13 ` Óscar Fuentes @ 2016-07-08 14:27 ` Eli Zaretskii 0 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-07-08 14:27 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel > From: Óscar Fuentes <ofv@wanadoo.es> > Date: Fri, 08 Jul 2016 16:13:21 +0200 > > Ted Zlatanov <tzz@lifelogs.com> writes: > > > EZ> All the other projects I > > EZ> participate in make it harder, and yet no one complains or thinks they > > EZ> are hard on contributors. > > > > I think there is a confirmation bias there: people tend to believe the > > feedback that confirms their existing views and discount the opposite. > > It is worse: those that think that the process makes things > unnecessarily difficult probably will never contribute and hence you > will never know about their existence, except for some passing comment > on some other forum. Someone will always think that, no matter how low the bar is. And I don't think this is "worse": I'm not sure we want such people on board. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 13:27 ` Ted Zlatanov 2016-07-08 14:06 ` Eli Zaretskii 2016-07-08 14:13 ` Óscar Fuentes @ 2016-07-09 16:54 ` Richard Stallman 2016-07-09 17:04 ` Eli Zaretskii ` (2 more replies) 2016-07-20 13:28 ` debbugs tracker builds character (was: Is it time to drop ChangeLogs?) Ted Zlatanov 3 siblings, 3 replies; 454+ messages in thread From: Richard Stallman @ 2016-07-09 16:54 UTC (permalink / raw) To: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > This can easily be encoded in a database table so it's searchable, > indexed by symbol name or file name (to build a history), etc. as part > of the pull request system. It can be semi-automatic: the system figures > out the file and symbol changes, then the developer adds the rest (and > the review doesn't end until this is done). Given a program that can determine which function or entity name to associate with each line, it would not be hard to make a list of which entities are changed in a given patch. Do we have such a program? I don't know that we do. However, determining what kind of change was made to a certain entity in a certain patch is much harder. Consider this: * file.c (create_swimming_pool): New function (modernize_building): Call it. How would a program decide whether "Call it." is enough to say about the change in modernize_building, or whether it is necessary to say more? -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-09 16:54 ` Richard Stallman @ 2016-07-09 17:04 ` Eli Zaretskii 2016-07-09 22:55 ` Ted Zlatanov 2016-07-11 11:29 ` Is it time to drop ChangeLogs? Phillip Lord 2 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-07-09 17:04 UTC (permalink / raw) To: rms; +Cc: emacs-devel > From: Richard Stallman <rms@gnu.org> > Date: Sat, 09 Jul 2016 12:54:48 -0400 > > Given a program that can determine which function or entity name > to associate with each line, it would not be hard to make a list of > which entities are changed in a given patch. > > Do we have such a program? I don't know that we do. GDB can do that. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-09 16:54 ` Richard Stallman 2016-07-09 17:04 ` Eli Zaretskii @ 2016-07-09 22:55 ` Ted Zlatanov 2016-07-10 14:25 ` Richard Stallman 2016-07-11 11:29 ` Is it time to drop ChangeLogs? Phillip Lord 2 siblings, 1 reply; 454+ messages in thread From: Ted Zlatanov @ 2016-07-09 22:55 UTC (permalink / raw) To: emacs-devel On Sat, 09 Jul 2016 12:54:48 -0400 Richard Stallman <rms@gnu.org> wrote: >> This can easily be encoded in a database table so it's searchable, >> indexed by symbol name or file name (to build a history), etc. as part >> of the pull request system. It can be semi-automatic: the system figures >> out the file and symbol changes, then the developer adds the rest (and >> the review doesn't end until this is done). RS> Given a program that can determine which function or entity name RS> to associate with each line, it would not be hard to make a list of RS> which entities are changed in a given patch. RS> Do we have such a program? I don't know that we do. RS> However, determining what kind of change was made to a certain entity RS> in a certain patch is much harder. Consider this: RS> * file.c (create_swimming_pool): New function RS> (modernize_building): Call it. RS> How would a program decide whether "Call it." is enough to say about RS> the change in modernize_building, or whether it is necessary to say RS> more? You're right, of course. But I wasn't saying the program would do the entire job. It will know *what* has changed and provide a place to enter the *why* messages. Then the code reviewer will require those messages before approving the merge. That's essentially what ChangeLogs do, but this will be in a structured format so it's easier to index and analyze the data. A good first iteration of this would be a mechanism to generate the structured data from a patch/diff, which would then hook into the current mechanism to generate ChangeLog-style entries in the commit message. (Currently this is a mostly manual process, I believe.) That would benefit everyone right away by speeding up the ChangeLog format generation, and can then be used for the more elaborate system when and if we decide. Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-09 22:55 ` Ted Zlatanov @ 2016-07-10 14:25 ` Richard Stallman 2016-07-11 13:28 ` auto-generating skeleton ChangeLogs (was: Is it time to drop ChangeLogs?) Ted Zlatanov 0 siblings, 1 reply; 454+ messages in thread From: Richard Stallman @ 2016-07-10 14:25 UTC (permalink / raw) To: emacs-devel; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > You're right, of course. But I wasn't saying the program would do the > entire job. It will know *what* has changed and provide a place to enter > the *why* messages. Then the code reviewer will require those messages > before approving the merge. That's essentially what ChangeLogs do, but > this will be in a structured format so it's easier to index and analyze > the data. That sounds like an idea worth trying to implement. If it works well, it could indeed be helpful. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* auto-generating skeleton ChangeLogs (was: Is it time to drop ChangeLogs?) 2016-07-10 14:25 ` Richard Stallman @ 2016-07-11 13:28 ` Ted Zlatanov 2016-07-12 13:49 ` auto-generating skeleton ChangeLogs Ted Zlatanov 0 siblings, 1 reply; 454+ messages in thread From: Ted Zlatanov @ 2016-07-11 13:28 UTC (permalink / raw) To: emacs-devel On Sun, 10 Jul 2016 10:25:31 -0400 Richard Stallman <rms@gnu.org> wrote: RS> [[[ To any NSA and FBI agents reading my email: please consider ]]] RS> [[[ whether defending the US Constitution against all enemies, ]]] RS> [[[ foreign or domestic, requires you to follow Snowden's example. ]]] >> You're right, of course. But I wasn't saying the program would do the >> entire job. It will know *what* has changed and provide a place to enter >> the *why* messages. Then the code reviewer will require those messages >> before approving the merge. That's essentially what ChangeLogs do, but >> this will be in a structured format so it's easier to index and analyze >> the data. RS> That sounds like an idea worth trying to implement. RS> If it works well, it could indeed be helpful. On Mon, 11 Jul 2016 12:29:38 +0100 phillip.lord@russet.org.uk (Phillip Lord) wrote: PL> I use magit to create the structure for change log from the diff, PL> interactively during the commit process. It's a little clunky, but it PL> works okay. That's what I do as well. It's very visual and I sometimes miss things. Can we do better? What are the things we can catch, given a patch or VCS commit and the VCS-controlled file? * additions of variables: defvar, defcustom, ??? * additions of functions: defun, defun*, ??? * removals of variables and functions * changes to defcustoms or defvars * changes to functions * other top-level macros such as `define-minor-mode' * new files, deleted files If there is code already written for this in Emacs or other packages, great. If not, I guess it should be part of the VC mode? Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: auto-generating skeleton ChangeLogs 2016-07-11 13:28 ` auto-generating skeleton ChangeLogs (was: Is it time to drop ChangeLogs?) Ted Zlatanov @ 2016-07-12 13:49 ` Ted Zlatanov 2016-07-13 3:29 ` Stefan Monnier 0 siblings, 1 reply; 454+ messages in thread From: Ted Zlatanov @ 2016-07-12 13:49 UTC (permalink / raw) To: emacs-devel On Mon, 11 Jul 2016 09:28:52 -0400 Ted Zlatanov <tzz@lifelogs.com> wrote: TZ> Can we do better? What are the things we can catch, given a patch or VCS TZ> commit and the VCS-controlled file? TZ> * additions of variables: defvar, defcustom, ??? TZ> * additions of functions: defun, defun*, ??? TZ> * removals of variables and functions TZ> * changes to defcustoms or defvars TZ> * changes to functions TZ> * other top-level macros such as `define-minor-mode' TZ> * new files, deleted files TZ> If there is code already written for this in Emacs or other packages, TZ> great. If not, I guess it should be part of the VC mode? ...another approach I thought of: step through every - or + line of the patch and do `add-change-log-entry'. The functionality to detect the current function or symbol changed will have to be factored out, so we can use a "change" data structure instead of inserting the ChangeLog entry. Then walk through the list of changes and consolidate them into a tree structure. That would be the minimum effort implementation... Would that cover enough of the cases above? Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: auto-generating skeleton ChangeLogs 2016-07-12 13:49 ` auto-generating skeleton ChangeLogs Ted Zlatanov @ 2016-07-13 3:29 ` Stefan Monnier 0 siblings, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-07-13 3:29 UTC (permalink / raw) To: emacs-devel FWIW there is diff-add-change-log-entries-other-window. I don't think it's very good, but it's a starting point. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-09 16:54 ` Richard Stallman 2016-07-09 17:04 ` Eli Zaretskii 2016-07-09 22:55 ` Ted Zlatanov @ 2016-07-11 11:29 ` Phillip Lord 2016-07-12 5:08 ` Richard Stallman 2 siblings, 1 reply; 454+ messages in thread From: Phillip Lord @ 2016-07-11 11:29 UTC (permalink / raw) To: Richard Stallman; +Cc: emacs-devel Richard Stallman <rms@gnu.org> writes: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > This can easily be encoded in a database table so it's searchable, > > indexed by symbol name or file name (to build a history), etc. as part > > of the pull request system. It can be semi-automatic: the system figures > > out the file and symbol changes, then the developer adds the rest (and > > the review doesn't end until this is done). > > Given a program that can determine which function or entity name > to associate with each line, it would not be hard to make a list of > which entities are changed in a given patch. > > Do we have such a program? I don't know that we do. I use magit to create the structure for change log from the diff, interactively during the commit process. It's a little clunky, but it works okay. Phil ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-11 11:29 ` Is it time to drop ChangeLogs? Phillip Lord @ 2016-07-12 5:08 ` Richard Stallman 0 siblings, 0 replies; 454+ messages in thread From: Richard Stallman @ 2016-07-12 5:08 UTC (permalink / raw) To: Phillip Lord; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > I use magit to create the structure for change log from the diff, > interactively during the commit process. It's a little clunky, but it > works okay. You can use Magit if you want to, but we shouldn't recommend Magit as part of our recommended procedures for GNU, or for Emacs, unless/until we can include it in Emacs. If we are considering development of programs other than Emacs, a recommendation that only works if the person uses Emacs has a drawback. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* debbugs tracker builds character (was: Is it time to drop ChangeLogs?) 2016-07-08 13:27 ` Ted Zlatanov ` (2 preceding siblings ...) 2016-07-09 16:54 ` Richard Stallman @ 2016-07-20 13:28 ` Ted Zlatanov 2016-07-20 13:44 ` debbugs tracker builds character Lars Ingebrigtsen 2016-07-20 14:53 ` Michael Albinus 3 siblings, 2 replies; 454+ messages in thread From: Ted Zlatanov @ 2016-07-20 13:28 UTC (permalink / raw) To: emacs-devel On Fri, 08 Jul 2016 09:27:55 -0400 Ted Zlatanov <tzz@lifelogs.com> wrote: TZ> On Fri, 8 Jul 2016 02:50:31 +0300 Dmitry Gutov <dgutov@yandex.ru> wrote: DG> That said, before continuing this discussion, I'd rather we switch to a DG> modern-ish bug tracker first. TZ> I'll try using the (painful) bug tracker to do code reviews. Unsurprisingly, it was not a good experience. TZ> Please consider me strongly in favor of a better code review system and TZ> a better bug tracker. Ideally they would be one and the same. I wish I knew why people find the current bug tracker acceptable. It reminds me of the old ftpmail/DEC gatekeeper where you sent e-mails requesting files: from ftp://ftp.math.utah.edu/pub/dec-alpha/dec-docs.txt "Instructions for using ftpmail to copy files: 1. Address the mail message to ftpmail@gatekeeper.dec.com. 2. Ignore the subject line. 3. Include in the first line of the body the word "connect". 4. Include get commands for each document required. (for example: get /pub/DEC/DECinfo/infosheet/decnsr-v2p0.ps) 5. The body of a typical request might look like: connect get /pub/DEC/DECinfo/SPD/index get /pub/DEC/DECinfo/infosheet/decnsr-v2p0.ps get /pub/DEC/DECinfo/brochure/unix-from-digital.txt Note that results will be mailed to you later in the day as requests are queued up and processed every 30 minutes. For more timely access, consider using anonymous ftp." That was cool in 1992, yeah... and it certainly builds character. Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 13:28 ` debbugs tracker builds character (was: Is it time to drop ChangeLogs?) Ted Zlatanov @ 2016-07-20 13:44 ` Lars Ingebrigtsen 2016-07-20 13:52 ` Dmitry Gutov 2016-07-20 14:53 ` Michael Albinus 1 sibling, 1 reply; 454+ messages in thread From: Lars Ingebrigtsen @ 2016-07-20 13:44 UTC (permalink / raw) To: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: > I wish I knew why people find the current bug tracker acceptable. The web interface? No, that's not a very pleasant interface, but I think `M-x debbugs-gnu' is a better bug tracker interface than most. :-) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 13:44 ` debbugs tracker builds character Lars Ingebrigtsen @ 2016-07-20 13:52 ` Dmitry Gutov 2016-07-20 14:58 ` Michael Albinus 0 siblings, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-07-20 13:52 UTC (permalink / raw) To: Lars Ingebrigtsen, emacs-devel On 07/20/2016 04:44 PM, Lars Ingebrigtsen wrote: > The web interface? No, that's not a very pleasant interface, but I > think `M-x debbugs-gnu' is a better bug tracker interface than most. :-) I think it's worse than some. It does makes some things easier once you know how to do them, but the UI takes getting used to, and it does not compensate for debbugs's sluggishness. Nor does it add many missing features, some of which many developers have come to consider essential (such as VCS integration, for example). ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 13:52 ` Dmitry Gutov @ 2016-07-20 14:58 ` Michael Albinus 2016-07-20 19:05 ` Dmitry Gutov 0 siblings, 1 reply; 454+ messages in thread From: Michael Albinus @ 2016-07-20 14:58 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Lars Ingebrigtsen, emacs-devel Dmitry Gutov <dgutov@yandex.ru> writes: > On 07/20/2016 04:44 PM, Lars Ingebrigtsen wrote: > >> The web interface? No, that's not a very pleasant interface, but I >> think `M-x debbugs-gnu' is a better bug tracker interface than most. :-) > > I think it's worse than some. > > It does makes some things easier once you know how to do them, but the > UI takes getting used to, and it does not compensate for debbugs's > sluggishness. > > Nor does it add many missing features, some of which many developers > have come to consider essential (such as VCS integration, for > example). Patches welcome! Or at least precise proposals what you would like to get improved. "VCS integration" sounds too vague to me. Best regards, Michael. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 14:58 ` Michael Albinus @ 2016-07-20 19:05 ` Dmitry Gutov 2016-07-20 19:48 ` Michael Albinus 0 siblings, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-07-20 19:05 UTC (permalink / raw) To: Michael Albinus; +Cc: Lars Ingebrigtsen, emacs-devel On 07/20/2016 05:58 PM, Michael Albinus wrote: >> Nor does it add many missing features, some of which many developers >> have come to consider essential (such as VCS integration, for >> example). > > Patches welcome! Or at least precise proposals what you would like to > get improved. "VCS integration" sounds too vague to me. Here's one example: https://help.github.com/articles/closing-issues-via-commit-messages/ I don't think you can do anything like this using debbugs. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 19:05 ` Dmitry Gutov @ 2016-07-20 19:48 ` Michael Albinus 2016-07-20 20:06 ` Robert Weiner 2016-07-20 20:38 ` Dmitry Gutov 0 siblings, 2 replies; 454+ messages in thread From: Michael Albinus @ 2016-07-20 19:48 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Lars Ingebrigtsen, emacs-devel Dmitry Gutov <dgutov@yandex.ru> writes: > Here's one example: > > https://help.github.com/articles/closing-issues-via-commit-messages/ > > I don't think you can do anything like this using debbugs. Why not? This seems to be rather a feature of the repository. If you configure the (Emacs) git repository that it detects "Fixes #45" patterns in the commit message, then it needs just an email to control@debbugs.gnu.org with "close 45" in the body. Something, which could be done by the commit-msg or post-commit scripts. I'm not arguing to install this just now. But debbugs wouldn't be a barrier to do it. No special debbugs configuration needed. Best regards, Michael. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 19:48 ` Michael Albinus @ 2016-07-20 20:06 ` Robert Weiner 2016-07-20 20:24 ` Michael Albinus 2016-07-20 20:38 ` Dmitry Gutov 1 sibling, 1 reply; 454+ messages in thread From: Robert Weiner @ 2016-07-20 20:06 UTC (permalink / raw) To: Michael Albinus; +Cc: Lars Ingebrigtsen, emacs-devel, Dmitry Gutov [-- Attachment #1: Type: text/plain, Size: 709 bytes --] On Wed, Jul 20, 2016 at 3:48 PM, Michael Albinus <michael.albinus@gmx.de> wrote: > Why not? This seems to be rather a feature of the repository. If you > configure the (Emacs) git repository that it detects "Fixes #45" > patterns in the commit message, then it needs just an email to > control@debbugs.gnu.org with "close 45" in the body. Something, which > could be done by the commit-msg or post-commit scripts. > If you implement anything like this, please use "Fixes bug#45." rather than "Fixes #45", then a press of a key with point somewhere within `bug#45' with the Hyperbole package installed will display the discussion of that bug number or display its status, as desired. Bob [-- Attachment #2: Type: text/html, Size: 1445 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 20:06 ` Robert Weiner @ 2016-07-20 20:24 ` Michael Albinus 2016-07-21 10:54 ` Lars Ingebrigtsen 2016-07-22 10:50 ` Lars Ingebrigtsen 0 siblings, 2 replies; 454+ messages in thread From: Michael Albinus @ 2016-07-20 20:24 UTC (permalink / raw) To: Robert Weiner; +Cc: Lars Ingebrigtsen, rswgnu, emacs-devel, Dmitry Gutov Robert Weiner <rsw@gnu.org> writes: > If you implement anything like this, please use "Fixes bug#45." rather > than "Fixes #45", then a press of a key with point somewhere within > `bug#45' with the Hyperbole package installed will display the > discussion of that bug number or display its status, as desired. Don't panic :-) I've just quoted the example given on the Github page, and they've used "Fixes #45". *If* we introduce something like this, I would be in favor of the established bug#45 format. Btw, do you know `debbugs-browse-mode'? (Shameless advertisement, I'm the author of). > Bob Best regards, Michael. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 20:24 ` Michael Albinus @ 2016-07-21 10:54 ` Lars Ingebrigtsen 2016-07-22 10:50 ` Lars Ingebrigtsen 1 sibling, 0 replies; 454+ messages in thread From: Lars Ingebrigtsen @ 2016-07-21 10:54 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel, rswgnu, Dmitry Gutov, Robert Weiner Michael Albinus <michael.albinus@gmx.de> writes: > I've just quoted the example given on the Github page, and they've used > "Fixes #45". *If* we introduce something like this, I would be in favor > of the established bug#45 format. It'd be nice if the language would be something along the lines of bug#45 done bug#45 tags 25.1 fixed That is, that you could drop arbitrary debbugs commands into commit messages. Or something. Perhaps that's over-engineering. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 20:24 ` Michael Albinus 2016-07-21 10:54 ` Lars Ingebrigtsen @ 2016-07-22 10:50 ` Lars Ingebrigtsen 1 sibling, 0 replies; 454+ messages in thread From: Lars Ingebrigtsen @ 2016-07-22 10:50 UTC (permalink / raw) To: Michael Albinus; +Cc: rswgnu, emacs-devel, Dmitry Gutov, Robert Weiner Michael Albinus <michael.albinus@gmx.de> writes: > I've just quoted the example given on the Github page, and they've used > "Fixes #45". *If* we introduce something like this, I would be in favor > of the established bug#45 format. I guess the reason nobody has made a vc-message-to-debbugs bridge by now is that nobody with interest in this have access to, or are comfortable working on the FSF servers. But it just occurred to me that this could be set up anywhere. Just subscribe the VC log list to an email address and have a .forward script on that host parse the messages and send out debbugs control messages. (This script could also subscribe to the bug mailing list and send out the previously discussed "tags patch" for reports containing patches...) It sounds like a very small and simple ... Python script to me. And free software, of course, so that it can be moved around if the external hosting proves to be unreliable. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 19:48 ` Michael Albinus 2016-07-20 20:06 ` Robert Weiner @ 2016-07-20 20:38 ` Dmitry Gutov 2016-07-21 6:27 ` Michael Albinus 1 sibling, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-07-20 20:38 UTC (permalink / raw) To: Michael Albinus; +Cc: Lars Ingebrigtsen, emacs-devel On 07/20/2016 10:48 PM, Michael Albinus wrote: >> https://help.github.com/articles/closing-issues-via-commit-messages/ >> >> I don't think you can do anything like this using debbugs. > > Why not? This seems to be rather a feature of the repository. If you > configure the (Emacs) git repository that it detects "Fixes #45" > patterns in the commit message, then it needs just an email to > control@debbugs.gnu.org with "close 45" in the body. Something, which > could be done by the commit-msg or post-commit scripts. Oh, ok. But it would have to email to the bug address because the person who filed it would surely want to see why and how it was closed. Preferably with a link to the closing commit. A commit can also reference a bug (and thus show in the bug's discussion) without closing it. > I'm not arguing to install this just now. But debbugs wouldn't be a > barrier to do it. No special debbugs configuration needed. I concede that this particular feature is indeed possible to add while still using debbugs. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 20:38 ` Dmitry Gutov @ 2016-07-21 6:27 ` Michael Albinus 2016-07-21 11:03 ` Dmitry Gutov 0 siblings, 1 reply; 454+ messages in thread From: Michael Albinus @ 2016-07-21 6:27 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Lars Ingebrigtsen, emacs-devel Dmitry Gutov <dgutov@yandex.ru> writes: Hi Dmitry, > Oh, ok. But it would have to email to the bug address because the > person who filed it would surely want to see why and how it was > closed. Preferably with a link to the closing commit. No, sending the "close 45" action to control@debbugs.gnu.org triggers also an email to the submitter of the bug. Adding the commit reference + message shall also be possible. Sending a commit link might be more tricky. The bug could belong to another pakage but "emacs", debbugs cannot know the base of the package repository. > A commit can also reference a bug (and thus show in the bug's > discussion) without closing it. Sure. There must be an obvious indication that the bug shall be closed. "Fixes #45" was just the example I've taken from the Github page you've referenced to. It could be any other keyword. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 6:27 ` Michael Albinus @ 2016-07-21 11:03 ` Dmitry Gutov 2016-07-21 12:42 ` Michael Albinus 0 siblings, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-07-21 11:03 UTC (permalink / raw) To: Michael Albinus; +Cc: Lars Ingebrigtsen, emacs-devel On 07/21/2016 09:27 AM, Michael Albinus wrote: > Sending a commit link might be more tricky. The bug could belong to > another pakage but "emacs", debbugs cannot know the base of the package > repository. Send a full URL? >> A commit can also reference a bug (and thus show in the bug's >> discussion) without closing it. > > Sure. There must be an obvious indication that the bug shall be > closed. "Fixes #45" was just the example I've taken from the Github page > you've referenced to. It could be any other keyword. I mean that in this case the notification about the commit would also need to be added to the bug discussion, but the control server is not the way to do this, at least in this case. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 11:03 ` Dmitry Gutov @ 2016-07-21 12:42 ` Michael Albinus 2016-07-21 12:46 ` Dmitry Gutov 0 siblings, 1 reply; 454+ messages in thread From: Michael Albinus @ 2016-07-21 12:42 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Lars Ingebrigtsen, emacs-devel Dmitry Gutov <dgutov@yandex.ru> writes: >> Sending a commit link might be more tricky. The bug could belong to >> another pakage but "emacs", debbugs cannot know the base of the package >> repository. > > Send a full URL? I don't know the repositories of the different packages supported by the debbugs server. <http://debbugs.gnu.org/Packages.html> gives you an idea which packages are hosted. >> Sure. There must be an obvious indication that the bug shall be >> closed. "Fixes #45" was just the example I've taken from the Github page >> you've referenced to. It could be any other keyword. > > I mean that in this case the notification about the commit would also > need to be added to the bug discussion, but the control server is not > the way to do this, at least in this case. The control message is added to the bug. You simply don't see it in the bug-gnu-emacs ML. Best regards, Michael. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 12:42 ` Michael Albinus @ 2016-07-21 12:46 ` Dmitry Gutov 2016-07-21 13:02 ` Michael Albinus 0 siblings, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-07-21 12:46 UTC (permalink / raw) To: Michael Albinus; +Cc: Lars Ingebrigtsen, emacs-devel On 07/21/2016 03:42 PM, Michael Albinus wrote: > I don't know the repositories of the different packages supported by the > debbugs server. <http://debbugs.gnu.org/Packages.html> gives you an idea > which packages are hosted. I'm sure the repository knows its URL, or can be configured to. You suggested to implement this via a Git hook, right? >> I mean that in this case the notification about the commit would also >> need to be added to the bug discussion, but the control server is not >> the way to do this, at least in this case. > > The control message is added to the bug. You simply don't see it in the > bug-gnu-emacs ML. If you don't see it in the web interface, the users can't track the progress, or get an overview of the commits later, just looking at the bug. Which is the whole point. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 12:46 ` Dmitry Gutov @ 2016-07-21 13:02 ` Michael Albinus 0 siblings, 0 replies; 454+ messages in thread From: Michael Albinus @ 2016-07-21 13:02 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Lars Ingebrigtsen, emacs-devel Dmitry Gutov <dgutov@yandex.ru> writes: >> I don't know the repositories of the different packages supported by the >> debbugs server. <http://debbugs.gnu.org/Packages.html> gives you an idea >> which packages are hosted. > > I'm sure the repository knows its URL, or can be configured to. You > suggested to implement this via a Git hook, right? Yes. >>> I mean that in this case the notification about the commit would also >>> need to be added to the bug discussion, but the control server is not >>> the way to do this, at least in this case. >> >> The control message is added to the bug. You simply don't see it in the >> bug-gnu-emacs ML. > > If you don't see it in the web interface, the users can't track the > progress, or get an overview of the commits later, just looking at the > bug. Which is the whole point. You see control messages also in the web interface. See the line <Toggle> the display of automated, internal messages from the tracker in a bug's page. Not very convenient, I agree. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 13:28 ` debbugs tracker builds character (was: Is it time to drop ChangeLogs?) Ted Zlatanov 2016-07-20 13:44 ` debbugs tracker builds character Lars Ingebrigtsen @ 2016-07-20 14:53 ` Michael Albinus 2016-07-20 14:57 ` Robert Weiner ` (2 more replies) 1 sibling, 3 replies; 454+ messages in thread From: Michael Albinus @ 2016-07-20 14:53 UTC (permalink / raw) To: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: > TZ> Please consider me strongly in favor of a better code review system and > TZ> a better bug tracker. Ideally they would be one and the same. > > I wish I knew why people find the current bug tracker acceptable. It > reminds me of the old ftpmail/DEC gatekeeper where you sent e-mails > requesting files: One of the requirements for a bug tracker for Emacs was, that it must be possible to control everything via email. That's one of the reasons debbugs was chosen. > Ted Best regards, Michael. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 14:53 ` Michael Albinus @ 2016-07-20 14:57 ` Robert Weiner 2016-07-20 18:48 ` Michael Albinus 2016-07-20 15:31 ` debbugs tracker builds character Ted Zlatanov 2016-07-20 21:25 ` Eric Abrahamsen 2 siblings, 1 reply; 454+ messages in thread From: Robert Weiner @ 2016-07-20 14:57 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 457 bytes --] On Wed, Jul 20, 2016 at 10:53 AM, Michael Albinus <michael.albinus@gmx.de> wrote: > One of the requirements for a bug tracker for Emacs was, that it must be > possible to control everything via email. That's one of the reasons > debbugs was chosen. > Just curious if anyone looked at Roundup, the Python-based bug tracker when choosing debbugs. I always found it small, fast and easy to use with both email and web-based control. Bob [-- Attachment #2: Type: text/html, Size: 1105 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 14:57 ` Robert Weiner @ 2016-07-20 18:48 ` Michael Albinus 2016-07-21 14:13 ` Ted Zlatanov 0 siblings, 1 reply; 454+ messages in thread From: Michael Albinus @ 2016-07-20 18:48 UTC (permalink / raw) To: Robert Weiner; +Cc: rswgnu, emacs-devel Robert Weiner <rsw@gnu.org> writes: Hi Bob, > Just curious if anyone looked at Roundup, the Python-based bug tracker > when choosing debbugs. Not that I'm aware of. > I always found it small, fast and easy to use with both email and > web-based control. Beside using email for bug handling, there were are criteria for decision. One essential requirement is always the underlying license; don't know whether ZPL 2.0 used by Roundup is sufficient for the recommend bug tracker of Gnu projects. Anyway, I believe this ship has sailed years ago. If somebody wants to replace debbugs, (s)he must do heavy lobbying for it. Don't know whether it could succeed, and whether it is worth the trouble. The better approach seems to be to exploit debbugs to its best. IMO. > Bob Best regards, Michael. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 18:48 ` Michael Albinus @ 2016-07-21 14:13 ` Ted Zlatanov 2016-07-21 14:50 ` Eli Zaretskii 2016-07-21 15:38 ` Stefan Monnier 0 siblings, 2 replies; 454+ messages in thread From: Ted Zlatanov @ 2016-07-21 14:13 UTC (permalink / raw) To: emacs-devel On Wed, 20 Jul 2016 20:48:07 +0200 Michael Albinus <michael.albinus@gmx.de> wrote: MA> Anyway, I believe this ship has sailed years ago. If somebody wants to MA> replace debbugs, (s)he must do heavy lobbying for it. Don't know whether MA> it could succeed, and whether it is worth the trouble. The better MA> approach seems to be to exploit debbugs to its best. IMO. ... MA> <http://thread.gmane.org/gmane.emacs.devel/60833/focus=60976> MA> That thread is the 10 years old discussion on emacs-devel, which ended MA> up in deciding for debbugs. And I find the reasoning for using email MA> still convincing. I don't care about the underlying bug tracker as much as I care about getting things done. This is my underlying reason to start a discussion. (Right now, I can set up an Emacs mirror on Github, do a pull request there and accept comments there. It would work great and I can merge the branch back into the Emacs Git repo. The only reason I haven't is political: I believe the maintainers should guide the tool choices.) >> The bug tracker should be aware of repositories, branches, commits, >> contributors, and ticket links or mentions in commit messages. >> Contributors should be able to tag and notify each other. Markdown etc. >> should be well supported. Inline code comments should be easy, and >> linked to a commit (so an updated commit can resolve the comment). This >> is just the essential stuff. MA> Some of this exist already (tags), maybe underdocumented. For the rest I MA> must at least sleep one night :-) It's hard to do the things I listed (especially VCS integration) with the current Emacs bug tracker. These things were not so important 10 years ago. I think as a team, we have to be willing to reassess our tool choices at least every 10 years (e.g. Bazaar and then Git were major tool changes but didn't change the Emacs project). As a practical choice, I'd rather lobby to use better tools than to write them ourselves: it wastes resources, and I don't think bug and issue tracking is our strongest area. I'd rather have you (Michael and others) get some sleep or work on Emacs itself. MA> A practical counter-argument: do you believe that debbugs is *such* bad MA> that the vast majority of Emacs developers will follow you for a new bug MA> tracker? I'm not a debbugs missionary, but in my daily work I found it MA> sufficient. Somehow. Well, I'm partly basing my view on the vitality of ELPA packages on Github. There are hundreds (some end up on the GNU ELPA, some hosted elsewhere). I've contributed to several like https://github.com/Silex/docker.el and https://github.com/flycheck/flycheck and the process is better for the reasons I've described. Will the Emacs developers follow me? I'd love to see them use a better process. I'm happy to concede I'm wrong and the current process works fine, but the evidence leads me to believe it can be improved with better tools (similar to the evidence in favor of Git when we were using Bazaar). I'm not going to spend the next 6 months talking about it; I'd rather know if the maintainers (Eli and John) and other core developers are willing to consider Gitlab or something similar. I think I've stated the case clearly, and quite a few of us have experience with more powerful bug/issue trackers so we know what we're missing. If the decision is "no, we'll move on with whatever marginal improvements to debbugs we can make" then I'll come back to the topic in another 10 years :) On Wed, 20 Jul 2016 16:43:08 -0400 Stefan Monnier <monnier@iro.umontreal.ca> wrote: >>> Yes, I agree that this is the crucial point. That's my motivation for >>> developing BugIt (https://gitlab.com/monnier/bugit). >> IMHO it's not that important a goal. The old-timers have lived without it >> for a while, and the youngsters have no idea that it's something to >> be desired. SM> The more I use BugIt, the more I find it important to be able to query SM> the bug database while offline. Being able to queue actions so they're SM> executed when I get online is not too terrible, but it's not really SM> good enough. I don't disagree entirely, but in 2016 disconnected operation is much less common than in 2006. There are tools that can synchronize database replicas seamlessly. Fundamentally, though, I think the focus of bug and issue tracking has shifted from individuals working on fixes, to teams collaborating and reviewing each other's work, with the ability to include and notify the entire community. IMHO this is the true value in Github and its competitors, and the biggest reason why they've seen so much adoption. On Wed, 20 Jul 2016 16:40:01 -0400 Stefan Monnier <monnier@iro.umontreal.ca> wrote: SM> I think I'm starting to see what you mean. You're talking about a tight SM> integration where a pull-request is also itself an issue, so the comments SM> can be directly on the patch itself. As opposed to having issues and SM> pull-request be two separate things that can refer to each other via SM> an indirection. Yes. Actually Github has both of these right now. When pull requests are not true issues, they tend to be associated with issues: sometimes 1-to-N and sometimes N-to-1. People have different workflows, so it's good to have flexibility built into the model. Sorry if this seems ambivalent; it's really a degree of creative freedom that users appreciate. On Wed, 20 Jul 2016 17:25:33 -0400 Eric Abrahamsen <eric@ericabrahamsen.net> wrote: EA> A suggestion from a part-time package maintainer: make EA> `report-emacs-bug' prompt for a package, and offer the results of EA> `featurep' as completion. If the user picks a package that only exists EA> in ELPA, email the package maintainer with the bug report. That's a really good suggestion, regardless of the underlying bug tracker. Thanks for the thoughtful comments Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 14:13 ` Ted Zlatanov @ 2016-07-21 14:50 ` Eli Zaretskii 2016-07-21 15:17 ` Ted Zlatanov 2016-07-21 15:38 ` Stefan Monnier 1 sibling, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-07-21 14:50 UTC (permalink / raw) To: emacs-devel > From: Ted Zlatanov <tzz@lifelogs.com> > Date: Thu, 21 Jul 2016 10:13:50 -0400 > > Will the Emacs developers follow me? I'd love to see them use a better > process. I'm happy to concede I'm wrong and the current process works > fine, but the evidence leads me to believe it can be improved with > better tools (similar to the evidence in favor of Git when we were using > Bazaar). I'm not going to spend the next 6 months talking about it; I'd > rather know if the maintainers (Eli and John) and other core developers > are willing to consider Gitlab or something similar. If you expect an answer from me, then I don't have enough information to do that. I never worked with Gitlab, have only a casual familiarity with Github, and don't have any clear idea of what would that mean for the process. Someone™ will have to set up a test repository which can be freely played with, and provide enough instructions for the relevant frequent ops to allow some first-hand experience with Gitlab (or whatever). Only then I will be able to say something intelligent. FWIW, most of the time I use up on Emacs-related work is spent debugging and reviewing patches, not on stuff related to debbugs and the VCS; the latter take negligible time. Not sure what that means in the context of this discussion. Thanks. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 14:50 ` Eli Zaretskii @ 2016-07-21 15:17 ` Ted Zlatanov 2016-07-21 15:41 ` David Engster ` (2 more replies) 0 siblings, 3 replies; 454+ messages in thread From: Ted Zlatanov @ 2016-07-21 15:17 UTC (permalink / raw) To: emacs-devel On Thu, 21 Jul 2016 17:50:01 +0300 Eli Zaretskii <eliz@gnu.org> wrote: >> From: Ted Zlatanov <tzz@lifelogs.com> >> Date: Thu, 21 Jul 2016 10:13:50 -0400 >> >> Will the Emacs developers follow me? I'd love to see them use a better >> process. I'm happy to concede I'm wrong and the current process works >> fine, but the evidence leads me to believe it can be improved with >> better tools (similar to the evidence in favor of Git when we were using >> Bazaar). I'm not going to spend the next 6 months talking about it; I'd >> rather know if the maintainers (Eli and John) and other core developers >> are willing to consider Gitlab or something similar. EZ> If you expect an answer from me, then I don't have enough information EZ> to do that. I never worked with Gitlab, have only a casual EZ> familiarity with Github, and don't have any clear idea of what would EZ> that mean for the process. Someone™ will have to set up a test EZ> repository which can be freely played with, and provide enough EZ> instructions for the relevant frequent ops to allow some first-hand EZ> experience with Gitlab (or whatever). Only then I will be able to say EZ> something intelligent. The license is the first issue, before we do that work. Gitlab is not GPL: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/LICENSE Is that acceptable? If yes, we can set up an instance against a mirror of Emacs. If not, we'll need to keep looking. EZ> FWIW, most of the time I use up on Emacs-related work is spent EZ> debugging and reviewing patches, not on stuff related to debbugs and EZ> the VCS; the latter take negligible time. Not sure what that means in EZ> the context of this discussion. In the process I proposed, they are all the same thing, so I think you would find it useful as well. A particularly useful CI feature is that you could review a patch and see that it breaks the C build, or emits some warnings, or breaks some tests... all done before your attention was focused on it. Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 15:17 ` Ted Zlatanov @ 2016-07-21 15:41 ` David Engster 2016-07-21 15:58 ` Eli Zaretskii 2016-07-21 23:49 ` Richard Stallman 2 siblings, 0 replies; 454+ messages in thread From: David Engster @ 2016-07-21 15:41 UTC (permalink / raw) To: emacs-devel Ted Zlatanov writes: > On Thu, 21 Jul 2016 17:50:01 +0300 Eli Zaretskii <eliz@gnu.org> wrote: > EZ> If you expect an answer from me, then I don't have enough information > EZ> to do that. I never worked with Gitlab, have only a casual > EZ> familiarity with Github, and don't have any clear idea of what would > EZ> that mean for the process. Someone™ will have to set up a test > EZ> repository which can be freely played with, and provide enough > EZ> instructions for the relevant frequent ops to allow some first-hand > EZ> experience with Gitlab (or whatever). Only then I will be able to say > EZ> something intelligent. > > The license is the first issue, before we do that work. Gitlab is not > GPL: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/LICENSE > > Is that acceptable? According to the "GNU ethical repository criteria" GitLab currently has grade C, meaning "Acceptable hosting for a GNU package", and is actually pretty close to grade B ("Good enough to recommend"). See https://www.gnu.org/software/repo-criteria-evaluation.html -David ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 15:17 ` Ted Zlatanov 2016-07-21 15:41 ` David Engster @ 2016-07-21 15:58 ` Eli Zaretskii 2016-07-21 23:49 ` Richard Stallman 2 siblings, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-07-21 15:58 UTC (permalink / raw) To: emacs-devel > From: Ted Zlatanov <tzz@lifelogs.com> > Date: Thu, 21 Jul 2016 11:17:03 -0400 > > The license is the first issue, before we do that work. Gitlab is not > GPL: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/LICENSE That question is not for me to answer. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 15:17 ` Ted Zlatanov 2016-07-21 15:41 ` David Engster 2016-07-21 15:58 ` Eli Zaretskii @ 2016-07-21 23:49 ` Richard Stallman 2016-07-21 23:54 ` Dmitry Gutov 2016-07-22 14:35 ` Ted Zlatanov 2 siblings, 2 replies; 454+ messages in thread From: Richard Stallman @ 2016-07-21 23:49 UTC (permalink / raw) To: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] Response to Ted Zlatanov > The license is the first issue, before we do that work. Gitlab is not > GPL: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/LICENSE What is the proposed activity here? Is this about storing some software on the gitlab.com repository? Or about doing something with some of the programs that run on the gitlab.com servers? Those two questions have very little in common. Or about something else? For using a repository, see http://gnu.org/software/repo-criteria. For running a program, the program needs to be free software. See http://gnu.org/philosophy/free-sw.html for the definition and http://gnu.org/licenses/license-list.html for whether various licenses are free or not. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 23:49 ` Richard Stallman @ 2016-07-21 23:54 ` Dmitry Gutov 2016-07-22 14:35 ` Ted Zlatanov 1 sibling, 0 replies; 454+ messages in thread From: Dmitry Gutov @ 2016-07-21 23:54 UTC (permalink / raw) To: rms, emacs-devel On 07/22/2016 02:49 AM, Richard Stallman wrote: > Response to Ted Zlatanov > > > The license is the first issue, before we do that work. Gitlab is not > > GPL: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/LICENSE > > What is the proposed activity here? Is this about storing some > software on the gitlab.com repository? Or about doing something with > some of the programs that run on the gitlab.com servers? Not gitlab.com. I imagine we will install the self-hosted version of Gitlab, on one of FSF's servers. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 23:49 ` Richard Stallman 2016-07-21 23:54 ` Dmitry Gutov @ 2016-07-22 14:35 ` Ted Zlatanov 2016-07-23 19:54 ` Richard Stallman 1 sibling, 1 reply; 454+ messages in thread From: Ted Zlatanov @ 2016-07-22 14:35 UTC (permalink / raw) To: emacs-devel On Thu, 21 Jul 2016 19:49:21 -0400 Richard Stallman <rms@gnu.org> wrote: >> The license is the first issue, before we do that work. Gitlab is not >> GPL: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/LICENSE RS> What is the proposed activity here? Is this about storing some RS> software on the gitlab.com repository? Or about doing something with RS> some of the programs that run on the gitlab.com servers? Those RS> two questions have very little in common. Or about something else? Gitlab is software to manage collaboration against a Git repository. It's similar to the functionality offered by Github and BitBucket, but is free (as pointed out earlier in the thread) and can be self-hosted (community edition). Gitlab.com/gitlab.org host an instance of the Gitlab software and are not going to be used. RS> For using a repository, see http://gnu.org/software/repo-criteria. RS> For running a program, the program needs to be free software. RS> See http://gnu.org/philosophy/free-sw.html for the definition RS> and http://gnu.org/licenses/license-list.html for whether various RS> licenses are free or not. We believe Gitlab Community Edition is OK in this regard and would like to do a trial run of using it to submit and review patches to Emacs (pull requests). Later it may also be considered as the bug/issue tracker but pull requests are the primary need. Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-22 14:35 ` Ted Zlatanov @ 2016-07-23 19:54 ` Richard Stallman 2016-07-25 12:52 ` Ted Zlatanov 0 siblings, 1 reply; 454+ messages in thread From: Richard Stallman @ 2016-07-23 19:54 UTC (permalink / raw) To: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Gitlab is software to manage collaboration against a Git repository. > It's similar to the functionality offered by Github and BitBucket, but > is free (as pointed out earlier in the thread) and can be self-hosted > (community edition). Since it is free software, we can use it when it is useful. On occasions when we can use a GNU package or a non-GNU package, we should choose the GNU package, out of loyalty. On occasions when we can use a GPL'd package (version N or later) or a free package with some other license we should choose former package, out of loyalty. But that's only about choosing _between_ free programs. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-23 19:54 ` Richard Stallman @ 2016-07-25 12:52 ` Ted Zlatanov 2016-07-25 16:51 ` Eli Zaretskii 0 siblings, 1 reply; 454+ messages in thread From: Ted Zlatanov @ 2016-07-25 12:52 UTC (permalink / raw) To: emacs-devel On Sat, 23 Jul 2016 15:54:01 -0400 Richard Stallman <rms@gnu.org> wrote: >> Gitlab is software to manage collaboration against a Git repository. >> It's similar to the functionality offered by Github and BitBucket, but >> is free (as pointed out earlier in the thread) and can be self-hosted >> (community edition). RS> Since it is free software, we can use it when it is useful. RS> On occasions when we can use a GNU package or a non-GNU package, we RS> should choose the GNU package, out of loyalty. On occasions when we RS> can use a GPL'd package (version N or later) or a free package with RS> some other license we should choose former package, out of loyalty. RS> But that's only about choosing _between_ free programs. Thanks for the explanation, Richard. Maintainers: can we run a Gitlab installation on FSF/GNU hardware? If not, I'll bring an instance up in AWS. It should have a recent copy of the Emacs Git repo, but doesn't need to be kept up to date, since we'll just run it as a demo of the pull request workflow. It will be temporary. Thanks Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-25 12:52 ` Ted Zlatanov @ 2016-07-25 16:51 ` Eli Zaretskii 2016-07-26 14:22 ` Ted Zlatanov 0 siblings, 1 reply; 454+ messages in thread From: Eli Zaretskii @ 2016-07-25 16:51 UTC (permalink / raw) To: emacs-devel > From: Ted Zlatanov <tzz@lifelogs.com> > Date: Mon, 25 Jul 2016 08:52:33 -0400 > > Maintainers: can we run a Gitlab installation on FSF/GNU hardware? I think you need to ask this on savannah-hackers-public@gnu.org, not here. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-25 16:51 ` Eli Zaretskii @ 2016-07-26 14:22 ` Ted Zlatanov 0 siblings, 0 replies; 454+ messages in thread From: Ted Zlatanov @ 2016-07-26 14:22 UTC (permalink / raw) To: emacs-devel On Mon, 25 Jul 2016 19:51:00 +0300 Eli Zaretskii <eliz@gnu.org> wrote: >> From: Ted Zlatanov <tzz@lifelogs.com> >> Date: Mon, 25 Jul 2016 08:52:33 -0400 >> >> Maintainers: can we run a Gitlab installation on FSF/GNU hardware? EZ> I think you need to ask this on savannah-hackers-public@gnu.org, not EZ> here. OK; done. Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 14:13 ` Ted Zlatanov 2016-07-21 14:50 ` Eli Zaretskii @ 2016-07-21 15:38 ` Stefan Monnier 2016-07-21 16:42 ` Ted Zlatanov 2016-07-21 20:11 ` Eric Abrahamsen 1 sibling, 2 replies; 454+ messages in thread From: Stefan Monnier @ 2016-07-21 15:38 UTC (permalink / raw) To: emacs-devel SM> I think I'm starting to see what you mean. You're talking about a tight SM> integration where a pull-request is also itself an issue, so the comments SM> can be directly on the patch itself. As opposed to having issues and SM> pull-request be two separate things that can refer to each other via SM> an indirection. > Yes. Actually Github has both of these right now. When pull requests are > not true issues, they tend to be associated with issues: sometimes > 1-to-N and sometimes N-to-1. People have different workflows, so it's > good to have flexibility built into the model. Sorry if this seems > ambivalent; it's really a degree of creative freedom that users > appreciate. So, we could start by setting up a Gitlab or Kallithea instance for Emacs and use it for pull-requests, while we keep using Debbugs for issue tracking. This lets us move forward on the pull-request and code-review front without having to solve the "issue" of switching to another bug-tracker. EA> A suggestion from a part-time package maintainer: make EA> `report-emacs-bug' prompt for a package, and offer the results of EA> `featurep' as completion. If the user picks a package that only exists EA> in ELPA, email the package maintainer with the bug report. > That's a really good suggestion, regardless of the underlying bug tracker. I also like this idea. Patches welcome, Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 15:38 ` Stefan Monnier @ 2016-07-21 16:42 ` Ted Zlatanov 2016-07-21 20:11 ` Eric Abrahamsen 1 sibling, 0 replies; 454+ messages in thread From: Ted Zlatanov @ 2016-07-21 16:42 UTC (permalink / raw) To: emacs-devel On Thu, 21 Jul 2016 11:38:09 -0400 Stefan Monnier <monnier@iro.umontreal.ca> wrote: SM> So, we could start by setting up a Gitlab or Kallithea instance for SM> Emacs and use it for pull-requests, while we keep using Debbugs for SM> issue tracking. SM> This lets us move forward on the pull-request and code-review front SM> without having to solve the "issue" of switching to another bug-tracker. Works for me. We'll try it out for a few contributions (so Eli and others can get a feel for it), then make it the recommended way to submit patches. If that works well, we can consider using it for bug tracking as well. On Thu, 21 Jul 2016 18:58:40 +0300 Eli Zaretskii <eliz@gnu.org> wrote: >> From: Ted Zlatanov <tzz@lifelogs.com> >> Date: Thu, 21 Jul 2016 11:17:03 -0400 >> >> The license is the first issue, before we do that work. Gitlab is not >> GPL: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/LICENSE EZ> That question is not for me to answer. On Thu, 21 Jul 2016 17:41:15 +0200 David Engster <deng@randomsample.de> wrote: DE> According to the "GNU ethical repository criteria" GitLab currently has DE> grade C, meaning "Acceptable hosting for a GNU package", and is actually DE> pretty close to grade B ("Good enough to recommend"). See DE> https://www.gnu.org/software/repo-criteria-evaluation.html Eli and John, I'm happy to wait for a decision as long as someone is making it eventually. I think the Emacs maintainers are the right people to communicate the decision back to the developers. Stefan brought up Kallithea https://kallithea-scm.org/ as an alternative to Gitlab. It's much less mature but GPLv3. We can try both side by side. Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 15:38 ` Stefan Monnier 2016-07-21 16:42 ` Ted Zlatanov @ 2016-07-21 20:11 ` Eric Abrahamsen 2016-07-22 10:50 ` Eric Abrahamsen 2016-07-22 19:17 ` Stefan Monnier 1 sibling, 2 replies; 454+ messages in thread From: Eric Abrahamsen @ 2016-07-21 20:11 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1914 bytes --] Stefan Monnier <monnier@iro.umontreal.ca> writes: > SM> I think I'm starting to see what you mean. You're talking about a tight > SM> integration where a pull-request is also itself an issue, so the comments > SM> can be directly on the patch itself. As opposed to having issues and > SM> pull-request be two separate things that can refer to each other via > SM> an indirection. > >> Yes. Actually Github has both of these right now. When pull requests are >> not true issues, they tend to be associated with issues: sometimes >> 1-to-N and sometimes N-to-1. People have different workflows, so it's >> good to have flexibility built into the model. Sorry if this seems >> ambivalent; it's really a degree of creative freedom that users >> appreciate. > > So, we could start by setting up a Gitlab or Kallithea instance for > Emacs and use it for pull-requests, while we keep using Debbugs for > issue tracking. > > This lets us move forward on the pull-request and code-review front > without having to solve the "issue" of switching to another bug-tracker. > > EA> A suggestion from a part-time package maintainer: make > EA> `report-emacs-bug' prompt for a package, and offer the results of > EA> `featurep' as completion. If the user picks a package that only exists > EA> in ELPA, email the package maintainer with the bug report. >> That's a really good suggestion, regardless of the underlying bug tracker. > > I also like this idea. Patches welcome, Here's a patch. I hope I've used all the proper utility functions for finding libraries and extracting headers. So far as I can tell, debbugs doesn't keep track of "bug subscriptions", and putting the package maintainer in the Cc header is all we need to do, right? Anyhow, I'm sure this will require tweaking, but take a look and let me know. Also, I've included a second patch to `lm-maintainer', which is (I hope) a fairly minor fix. Eric [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-Cc-package-maintainers-when-reporting-emacs-bugs.patch --] [-- Type: text/x-diff, Size: 2433 bytes --] From 347d5a0935a671e4a1401925ecff0ca2c4c7a277 Mon Sep 17 00:00:00 2001 From: Eric Abrahamsen <eric@ericabrahamsen.net> Date: Thu, 21 Jul 2016 15:58:47 -0400 Subject: [PATCH 1/2] Cc package maintainers when reporting emacs bugs * lisp/mail/emacsbug.el (report-emacs-bug): Prompt for a package to report a bug against, and cc the package maintainer, if any, on the bug report. --- lisp/mail/emacsbug.el | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el index 18eaa22..ce3b60c 100644 --- a/lisp/mail/emacsbug.el +++ b/lisp/mail/emacsbug.el @@ -144,11 +144,14 @@ message-send-mail-function (defvar message-sendmail-envelope-from) ;;;###autoload -(defun report-emacs-bug (topic &optional unused) +(defun report-emacs-bug (topic package &optional unused) "Report a bug in GNU Emacs. Prompts for bug subject. Leaves you in a mail buffer." (declare (advertised-calling-convention (topic) "24.5")) - (interactive "sBug Subject: ") + (interactive (list + (read-string "Bug Subject: ") + (when (bound-and-true-p package--initialized) + (completing-read "Package: " package-alist)))) ;; The syntax `version;' is preferred to `[version]' because the ;; latter could be mistakenly stripped by mailing software. (if (eq system-type 'ms-dos) @@ -158,6 +161,9 @@ report-emacs-bug (let ((from-buffer (current-buffer)) (can-insert-mail (or (report-emacs-bug-can-use-xdg-email) (report-emacs-bug-can-use-osx-open))) + (cc (when (and package (null (string= package "emacs"))) + (require 'finder) + (lm-maintainer (find-library-name package)))) user-point message-end-point) (setq message-end-point (with-current-buffer (messages-buffer) @@ -184,6 +190,13 @@ report-emacs-bug (when (and (not message-sendmail-envelope-from) (message-bogus-recipient-p (message-make-address))) (set (make-local-variable 'message-sendmail-envelope-from) 'header))) + (when (cdr cc) ;; The cdr is the email address. + (if (eq major-mode 'message-mode) + (message-goto-cc) + (mail-cc)) + (if (car cc) + (insert (format "%s <%s>" (car cc) (cdr cc))) + (insert (format "%s" (cdr cc))))) (rfc822-goto-eoh) (forward-line 1) ;; Move the mail signature to the proper place. -- 2.9.0 [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #3: 0002-lm-maintainer-should-pass-file-arg-to-lm-authors.patch --] [-- Type: text/x-diff, Size: 954 bytes --] From fd9fec872ba4799dae4718cd5716f96c97d4b823 Mon Sep 17 00:00:00 2001 From: Eric Abrahamsen <eric@ericabrahamsen.net> Date: Thu, 21 Jul 2016 16:00:20 -0400 Subject: [PATCH 2/2] lm-maintainer should pass file arg to lm-authors * lisp/emacs-lisp/lisp-mnt.el (lm-maintainer): If `lm-maintainer' ends up calling `lm-authors', it should pass the optional FILE arg to that call. --- lisp/emacs-lisp/lisp-mnt.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/emacs-lisp/lisp-mnt.el b/lisp/emacs-lisp/lisp-mnt.el index 46373da..604f472 100644 --- a/lisp/emacs-lisp/lisp-mnt.el +++ b/lisp/emacs-lisp/lisp-mnt.el @@ -393,7 +393,7 @@ lm-maintainer (let ((maint (lm-header "maintainer"))) (if maint (lm-crack-address maint) - (car (lm-authors)))))) + (car (lm-authors file)))))) (defun lm-creation-date (&optional file) "Return the created date given in file FILE, or current buffer if FILE is nil." -- 2.9.0 ^ permalink raw reply related [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 20:11 ` Eric Abrahamsen @ 2016-07-22 10:50 ` Eric Abrahamsen 2016-07-22 19:17 ` Stefan Monnier 1 sibling, 0 replies; 454+ messages in thread From: Eric Abrahamsen @ 2016-07-22 10:50 UTC (permalink / raw) To: emacs-devel Eric Abrahamsen <eric@ericabrahamsen.net> writes: > Stefan Monnier <monnier@iro.umontreal.ca> writes: > >> SM> I think I'm starting to see what you mean. You're talking about a tight >> SM> integration where a pull-request is also itself an issue, so the comments >> SM> can be directly on the patch itself. As opposed to having issues and >> SM> pull-request be two separate things that can refer to each other via >> SM> an indirection. >> >>> Yes. Actually Github has both of these right now. When pull requests are >>> not true issues, they tend to be associated with issues: sometimes >>> 1-to-N and sometimes N-to-1. People have different workflows, so it's >>> good to have flexibility built into the model. Sorry if this seems >>> ambivalent; it's really a degree of creative freedom that users >>> appreciate. >> >> So, we could start by setting up a Gitlab or Kallithea instance for >> Emacs and use it for pull-requests, while we keep using Debbugs for >> issue tracking. >> >> This lets us move forward on the pull-request and code-review front >> without having to solve the "issue" of switching to another bug-tracker. >> >> EA> A suggestion from a part-time package maintainer: make >> EA> `report-emacs-bug' prompt for a package, and offer the results of >> EA> `featurep' as completion. If the user picks a package that only exists >> EA> in ELPA, email the package maintainer with the bug report. >>> That's a really good suggestion, regardless of the underlying bug tracker. >> >> I also like this idea. Patches welcome, > > Here's a patch. I hope I've used all the proper utility functions for > finding libraries and extracting headers. > > So far as I can tell, debbugs doesn't keep track of "bug subscriptions", > and putting the package maintainer in the Cc header is all we need to > do, right? > > Anyhow, I'm sure this will require tweaking, but take a look and let me > know. > > Also, I've included a second patch to `lm-maintainer', which is (I hope) > a fairly minor fix. Please ignore this second patch, this was a brain fart. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 20:11 ` Eric Abrahamsen 2016-07-22 10:50 ` Eric Abrahamsen @ 2016-07-22 19:17 ` Stefan Monnier 2016-07-23 16:18 ` Eric Abrahamsen 1 sibling, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-07-22 19:17 UTC (permalink / raw) To: emacs-devel > + (when (bound-and-true-p package--initialized) > + (completing-read "Package: " package-alist)))) package-alist may not exist. Wouldn't (mapcar #'symbol-name features) be preferable? Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-22 19:17 ` Stefan Monnier @ 2016-07-23 16:18 ` Eric Abrahamsen 2016-07-23 17:35 ` Stefan Monnier 0 siblings, 1 reply; 454+ messages in thread From: Eric Abrahamsen @ 2016-07-23 16:18 UTC (permalink / raw) To: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >> + (when (bound-and-true-p package--initialized) >> + (completing-read "Package: " package-alist)))) > > package-alist may not exist. Wouldn't (mapcar #'symbol-name features) > be preferable? I figured if package--initialized was bound and true, then package-alist should exist. I did this at the package level (rather than the deeper features level) just because it seemed cleaner. Using features, you get all the individual files of multi-file packages, which seems messy (and prone to missing the maintainer). We'd also be offering all the built-in Emacs libraries, for which there's no sensible "maintainer", and could end up cc'ing people who wrote libraries decades ago. That's just what I was thinking at the time, though -- obviously I'd be happy to rework it to use features. Eric ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-23 16:18 ` Eric Abrahamsen @ 2016-07-23 17:35 ` Stefan Monnier 2016-07-23 23:07 ` Eric Abrahamsen 0 siblings, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-07-23 17:35 UTC (permalink / raw) To: emacs-devel > I did this at the package level (rather than the deeper features level) > just because it seemed cleaner. Using features, you get all the > individual files of multi-file packages, which seems messy (and prone to > missing the maintainer). We'd also be offering all the built-in Emacs > libraries, for which there's no sensible "maintainer", and could end up > cc'ing people who wrote libraries decades ago. Hmm... how 'bout (if (bound-and-true-p package--initialized) (seq-intersection (mapcar #'car package-alist) features) features) then? Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-23 17:35 ` Stefan Monnier @ 2016-07-23 23:07 ` Eric Abrahamsen 2016-07-24 16:21 ` Stefan Monnier 0 siblings, 1 reply; 454+ messages in thread From: Eric Abrahamsen @ 2016-07-23 23:07 UTC (permalink / raw) To: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >> I did this at the package level (rather than the deeper features level) >> just because it seemed cleaner. Using features, you get all the >> individual files of multi-file packages, which seems messy (and prone to >> missing the maintainer). We'd also be offering all the built-in Emacs >> libraries, for which there's no sensible "maintainer", and could end up >> cc'ing people who wrote libraries decades ago. > > Hmm... how 'bout > > (if (bound-and-true-p package--initialized) > (seq-intersection (mapcar #'car package-alist) features) > features) > > then? But the `seq-intersection' call will filter out packages that have been installed (are in package-alist), but not loaded (are not in features). Wouldn't it make more sense to use: (seq-uniq (append features (mapcar #'car package-alist))) Also, what was the outcome of the seq.el pre-loading/autoloading discussion? Are seq-* functions guaranteed to be available? Eric ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-23 23:07 ` Eric Abrahamsen @ 2016-07-24 16:21 ` Stefan Monnier 2016-07-24 21:20 ` Eric Abrahamsen 0 siblings, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-07-24 16:21 UTC (permalink / raw) To: emacs-devel > But the `seq-intersection' call will filter out packages that have been > installed (are in package-alist), but not loaded (are not in features). That was the intention. But indeed, if the user submits the report from another Emacs session than the one where the bug occurs, this may filter out the relevant package. > Also, what was the outcome of the seq.el pre-loading/autoloading > discussion? Are seq-* functions guaranteed to be available? We'd (require 'seq), that's not a problem. But indeed, by that measure we could also package-initialize unconditionally and just use package-alist. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-24 16:21 ` Stefan Monnier @ 2016-07-24 21:20 ` Eric Abrahamsen 2016-07-24 21:40 ` Stefan Monnier 0 siblings, 1 reply; 454+ messages in thread From: Eric Abrahamsen @ 2016-07-24 21:20 UTC (permalink / raw) To: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >> But the `seq-intersection' call will filter out packages that have been >> installed (are in package-alist), but not loaded (are not in features). > > That was the intention. But indeed, if the user submits the report from > another Emacs session than the one where the bug occurs, this may filter > out the relevant package. > >> Also, what was the outcome of the seq.el pre-loading/autoloading >> discussion? Are seq-* functions guaranteed to be available? > > We'd (require 'seq), that's not a problem. > But indeed, by that measure we could also package-initialize > unconditionally and just use package-alist. Okay, understood on both counts. I can't say I have much of an opinion on the finer points -- I'm just pleased to have the basics in place. We can either "go big" (use features), or "go small" (manually package-initialize, then use package-alist). Would you make an executive decision, and I'll patch? Eric ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-24 21:20 ` Eric Abrahamsen @ 2016-07-24 21:40 ` Stefan Monnier 2016-07-24 23:04 ` Eric Abrahamsen 0 siblings, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-07-24 21:40 UTC (permalink / raw) To: emacs-devel > We can either "go big" (use features), or "go small" (manually > package-initialize, then use package-alist). Would you make an executive > decision, and I'll patch? Your guess is as good as mine, Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-24 21:40 ` Stefan Monnier @ 2016-07-24 23:04 ` Eric Abrahamsen 2017-03-13 0:22 ` [ELPA] I regret using subtree (was: debbugs tracker builds character) Eric Abrahamsen 0 siblings, 1 reply; 454+ messages in thread From: Eric Abrahamsen @ 2016-07-24 23:04 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 421 bytes --] Stefan Monnier <monnier@iro.umontreal.ca> writes: >> We can either "go big" (use features), or "go small" (manually >> package-initialize, then use package-alist). Would you make an executive >> decision, and I'll patch? > > Your guess is as good as mine, Fair enough! I choose the conservative route: here's a patch that just works on package-alist. If anyone complains, it will be easy enough to expand later. Eric [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-Cc-package-maintainers-when-reporting-emacs-bugs.patch --] [-- Type: text/x-diff, Size: 2482 bytes --] From 542d7b342d0ce86933d8c6998ca7a817952b0b3f Mon Sep 17 00:00:00 2001 From: Eric Abrahamsen <eric@ericabrahamsen.net> Date: Thu, 21 Jul 2016 15:58:47 -0400 Subject: [PATCH] Cc package maintainers when reporting emacs bugs * lisp/mail/emacsbug.el (report-emacs-bug): Prompt for a package to report a bug against, and cc the package maintainer, if any, on the bug report. --- lisp/mail/emacsbug.el | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el index 18eaa22..87ac234 100644 --- a/lisp/mail/emacsbug.el +++ b/lisp/mail/emacsbug.el @@ -144,11 +144,17 @@ message-send-mail-function (defvar message-sendmail-envelope-from) ;;;###autoload -(defun report-emacs-bug (topic &optional unused) +(defun report-emacs-bug (topic package &optional unused) "Report a bug in GNU Emacs. Prompts for bug subject. Leaves you in a mail buffer." (declare (advertised-calling-convention (topic) "24.5")) - (interactive "sBug Subject: ") + (interactive (list + (read-string "Bug Subject: ") + (completing-read + "Package: " + (progn + (package-initialize) + package-alist)))) ;; The syntax `version;' is preferred to `[version]' because the ;; latter could be mistakenly stripped by mailing software. (if (eq system-type 'ms-dos) @@ -158,6 +164,9 @@ report-emacs-bug (let ((from-buffer (current-buffer)) (can-insert-mail (or (report-emacs-bug-can-use-xdg-email) (report-emacs-bug-can-use-osx-open))) + (cc (unless (or (string-empty-p package) (string= package "emacs")) + (require 'finder) + (lm-maintainer (find-library-name package)))) user-point message-end-point) (setq message-end-point (with-current-buffer (messages-buffer) @@ -184,6 +193,13 @@ report-emacs-bug (when (and (not message-sendmail-envelope-from) (message-bogus-recipient-p (message-make-address))) (set (make-local-variable 'message-sendmail-envelope-from) 'header))) + (when (cdr cc) ;; The cdr is the email address. + (if (eq major-mode 'message-mode) + (message-goto-cc) + (mail-cc)) + (if (car cc) + (insert (format "%s <%s>" (car cc) (cdr cc))) + (insert (format "%s" (cdr cc))))) (rfc822-goto-eoh) (forward-line 1) ;; Move the mail signature to the proper place. -- 2.9.0 ^ permalink raw reply related [flat|nested] 454+ messages in thread
* [ELPA] I regret using subtree (was: debbugs tracker builds character) 2016-07-24 23:04 ` Eric Abrahamsen @ 2017-03-13 0:22 ` Eric Abrahamsen 2017-03-13 0:53 ` [ELPA] I regret using subtree Stefan Monnier 2017-03-13 7:06 ` Thien-Thi Nguyen 0 siblings, 2 replies; 454+ messages in thread From: Eric Abrahamsen @ 2017-03-13 0:22 UTC (permalink / raw) To: emacs-devel Okay, I officially regret having used the subtree approach to squash Gnorb into Elpa, and if at all possible I would like to abandon this and move to just working in the Elpa tree. Do I have to do anything magic? My understanding of the `git subtree' command is that it isn't actually a "real" command, it's just some behind-the-scenes jiggery-pokery with merge and cherry-pick and read-tree. Ie, I should just be able to declare "I'm done with this" and carry on making commits directly into Elpa. Is that correct? The only thing I'll regret is the github issue tracker, and for that reason I'm tacking this on to a thread from last year, about making `report-emacs-bug' collect package information before sending a bug report, and cc'ing maintainers. I still think this is a good idea, and I think my patch, if not ideal, is good enough, so I'm reviving it. What say you all? Eric > Stefan Monnier <monnier@iro.umontreal.ca> writes: > >>> We can either "go big" (use features), or "go small" (manually >>> package-initialize, then use package-alist). Would you make an executive >>> decision, and I'll patch? >> >> Your guess is as good as mine, > > Fair enough! I choose the conservative route: here's a patch that just > works on package-alist. If anyone complains, it will be easy enough to > expand later. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: [ELPA] I regret using subtree 2017-03-13 0:22 ` [ELPA] I regret using subtree (was: debbugs tracker builds character) Eric Abrahamsen @ 2017-03-13 0:53 ` Stefan Monnier 2017-03-13 2:18 ` Eric Abrahamsen 2017-03-13 7:06 ` Thien-Thi Nguyen 1 sibling, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2017-03-13 0:53 UTC (permalink / raw) To: emacs-devel > Okay, I officially regret having used the subtree approach to squash > Gnorb into Elpa, and if at all possible I would like to abandon this and > move to just working in the Elpa tree. > Do I have to do anything magic? My understanding of the `git subtree' > command is that it isn't actually a "real" command, it's just some > behind-the-scenes jiggery-pokery with merge and cherry-pick and > read-tree. Ie, I should just be able to declare "I'm done with this" and > carry on making commits directly into Elpa. Is that correct? That is correct. [ Of course, if you want, you can also "git rm -r packages/gnorb" and then add an externals/gnorb branch. ] > The only thing I'll regret is the github issue tracker, and for that > reason I'm tacking this on to a thread from last year, about making > `report-emacs-bug' collect package information before sending a bug > report, and cc'ing maintainers. I still think this is a good idea, and I > think my patch, if not ideal, is good enough, so I'm reviving it. What > say you all? The patch seems OK, except it should put the Cc in the "X-Debbugs-Cc:" header (so that the maintainer gets the email with the bug-number rather than email before assigned a bug-number). Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: [ELPA] I regret using subtree 2017-03-13 0:53 ` [ELPA] I regret using subtree Stefan Monnier @ 2017-03-13 2:18 ` Eric Abrahamsen 2017-03-13 10:01 ` Tino Calancha 0 siblings, 1 reply; 454+ messages in thread From: Eric Abrahamsen @ 2017-03-13 2:18 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1377 bytes --] Stefan Monnier <monnier@iro.umontreal.ca> writes: >> Okay, I officially regret having used the subtree approach to squash >> Gnorb into Elpa, and if at all possible I would like to abandon this and >> move to just working in the Elpa tree. >> Do I have to do anything magic? My understanding of the `git subtree' >> command is that it isn't actually a "real" command, it's just some >> behind-the-scenes jiggery-pokery with merge and cherry-pick and >> read-tree. Ie, I should just be able to declare "I'm done with this" and >> carry on making commits directly into Elpa. Is that correct? > > That is correct. > [ Of course, if you want, you can also "git rm -r packages/gnorb" and > then add an externals/gnorb branch. ] No, I think I'll go with the simpler option. >> The only thing I'll regret is the github issue tracker, and for that >> reason I'm tacking this on to a thread from last year, about making >> `report-emacs-bug' collect package information before sending a bug >> report, and cc'ing maintainers. I still think this is a good idea, and I >> think my patch, if not ideal, is good enough, so I'm reviving it. What >> say you all? > > The patch seems OK, except it should put the Cc in the "X-Debbugs-Cc:" > header (so that the maintainer gets the email with the bug-number > rather than email before assigned a bug-number). Here's an updated version. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-Prompt-for-package-when-reporting-emacs-bug.patch --] [-- Type: text/x-patch, Size: 2461 bytes --] From 51cd6dd13b965453b56526e6f323fd563b7ed026 Mon Sep 17 00:00:00 2001 From: Eric Abrahamsen <eric@ericabrahamsen.net> Date: Sun, 12 Mar 2017 18:41:42 -0700 Subject: [PATCH] Prompt for package when reporting emacs bug * lisp/mail/emacsbug.el (report-emacs-bug): Prompt for a package, and put the package maintainer in the X-Debbugs-Cc header. --- lisp/mail/emacsbug.el | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el index c1aec6923f..656eeabe0f 100644 --- a/lisp/mail/emacsbug.el +++ b/lisp/mail/emacsbug.el @@ -123,17 +123,26 @@ message-send-mail-function (defvar message-sendmail-envelope-from) ;;;###autoload -(defun report-emacs-bug (topic &optional unused) +(defun report-emacs-bug (topic package &optional unused) "Report a bug in GNU Emacs. Prompts for bug subject. Leaves you in a mail buffer." (declare (advertised-calling-convention (topic) "24.5")) - (interactive "sBug Subject: ") + (interactive (list + (read-string "Bug Subject: ") + (completing-read + "Package: " + (progn + (package-initialize) + package-alist)))) ;; The syntax `version;' is preferred to `[version]' because the ;; latter could be mistakenly stripped by mailing software. (setq topic (concat emacs-version "; " topic)) (let ((from-buffer (current-buffer)) (can-insert-mail (or (report-emacs-bug-can-use-xdg-email) (report-emacs-bug-can-use-osx-open))) + (cc (unless (or (string-empty-p package) (string= package "emacs")) + (require 'finder) + (lm-maintainer (find-library-name package)))) user-point message-end-point) (setq message-end-point (with-current-buffer (messages-buffer) @@ -160,6 +169,13 @@ report-emacs-bug (when (and (not message-sendmail-envelope-from) (message-bogus-recipient-p (message-make-address))) (set (make-local-variable 'message-sendmail-envelope-from) 'header))) + (when (cdr cc) ;; cdr is the email address. + (if (eq major-mode 'message-mode) + (message-position-on-field "X-Debbugs-Cc") + (mail-cc)) + (if (car cc) + (insert (format "%s <%s>" (car cc) (cdr cc))) + (insert (format "%s" (cdr cc))))) (rfc822-goto-eoh) (forward-line 1) ;; Move the mail signature to the proper place. -- 2.12.0 ^ permalink raw reply related [flat|nested] 454+ messages in thread
* Re: [ELPA] I regret using subtree 2017-03-13 2:18 ` Eric Abrahamsen @ 2017-03-13 10:01 ` Tino Calancha 2017-03-13 13:46 ` Stefan Monnier 0 siblings, 1 reply; 454+ messages in thread From: Tino Calancha @ 2017-03-13 10:01 UTC (permalink / raw) To: Eric Abrahamsen; +Cc: tino.calancha, Stefan Monnier, emacs-devel Eric Abrahamsen <eric@ericabrahamsen.net> writes: > Stefan Monnier <monnier@iro.umontreal.ca> writes: >> The patch seems OK, except it should put the Cc in the "X-Debbugs-Cc:" >> header (so that the maintainer gets the email with the bug-number >> rather than email before assigned a bug-number). > > Here's an updated version. I) There are files with more than 1 maintainer/author. Just pick up the first one may not suffice. E.g., (lm-authors (find-library-name "tramp")) => (("Kai Großjohann" . "kai.grossjohann@gmx.net") ("Michael Albinus" . "michael.albinus@gmx.de")) (lm-maintainer (find-library-name "tramp")) => ("Kai Großjohann" . "kai.grossjohann@gmx.net") ;; Your patch won't send CC to Michael. I suggest to CC all of them. In order to do that `lm-maintainer' must be updated. See patches below. II) There are files with plural versions of 'Author', 'Maintainer' headers For instance, lisp/net/rcirc.el In this case `lm-maintainer' fall back in `lm-authors' so that Liu wouldn't be in CC. Another example, lisp/color.el Just 'Authors' header, no 'Maintainer' one. There wouldn't be CC in this case. III) The e-mail format might confuse these tools. E.g. lisp/org/org-protocol.el ;; Maintainer: Sebastian Rose <sebastian_rose AT gmx DOT de> or in lisp/progmodes/prolog.el ;; Maintainer: Stefan Bruda <stefan(at)bruda(dot)ca> --8<-----------------------------cut here---------------start------------->8--- From b0a51241e4393ee62673c181c03317649e9652fe Mon Sep 17 00:00:00 2001 From: Tino Calancha <tino.calancha@gmail.com> Date: Mon, 13 Mar 2017 18:56:45 +0900 Subject: [PATCH 1/3] lm-maintainer: Allow return more than 1 maintainer * lisp/emacs-lisp/lisp-mnt.el (lm-authors, lm-maintainer): Pluralize regexp. (lm-header-multiline): Fix regexp. (lm-maintainer): Add second argument ALL. --- lisp/emacs-lisp/lisp-mnt.el | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/lisp/emacs-lisp/lisp-mnt.el b/lisp/emacs-lisp/lisp-mnt.el index fc3caf3359..c96d224679 100644 --- a/lisp/emacs-lisp/lisp-mnt.el +++ b/lisp/emacs-lisp/lisp-mnt.el @@ -118,6 +118,8 @@ ;;; Variables: +(eval-when-compile (require 'subr-x)) + (defgroup lisp-mnt nil "Utility functions for Emacs Lisp maintainers." :prefix "lm-" @@ -285,7 +287,7 @@ lm-header-multiline (when res (setq res (list res)) (forward-line 1) - (while (looking-at "^;+\\(\t\\|[\t\s]\\{2,\\}\\)\\(.+\\)") + (while (looking-at "^;+\\(\t+\s?+\\|[[:blank:]]\\{2,\\}\\)\\(.+\\)") (push (match-string-no-properties 2) res) (forward-line 1))) (nreverse res)))) @@ -383,17 +385,20 @@ lm-authors Each element of the list is a cons; the car is the full name, the cdr is an email address." (lm-with-file file - (let ((authorlist (lm-header-multiline "author"))) + (let ((authorlist (lm-header-multiline "author[s]?"))) (mapcar 'lm-crack-address authorlist)))) -(defun lm-maintainer (&optional file) +(defun lm-maintainer (&optional file all) "Return the maintainer of file FILE, or current buffer if FILE is nil. -The return value has the form (NAME . ADDRESS)." +If optional arg ALL is non-nil, then return all maintainers. Otherwise, +return just the first one. In the former case the return value has +the form ((NAME1 . ADDRESS1) (NAME2 . ADDRESS2) ...); in the latter case, +the return value is just (NAME1 . ADDRESS1)." (lm-with-file file - (let ((maint (lm-header "maintainer"))) - (if maint - (lm-crack-address maint) - (car (lm-authors)))))) + (let ((people (if-let (maint (lm-header-multiline "maintainer[s]?")) + (mapcar 'lm-crack-address maint) + (lm-authors)))) + (if all people (car people))))) (defun lm-creation-date (&optional file) "Return the created date given in file FILE, or current buffer if FILE is nil." -- 2.11.0 From 26be86a780cc9c5f497a6e99bd41fc81a2be8ad6 Mon Sep 17 00:00:00 2001 From: Tino Calancha <tino.calancha@gmail.com> Date: Mon, 13 Mar 2017 18:56:45 +0900 Subject: [PATCH 2/3] * lisp/mail/emacsbug.el (report-emacs-bug): Apply Eric patch. --- lisp/mail/emacsbug.el | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el index c1aec6923f..656eeabe0f 100644 --- a/lisp/mail/emacsbug.el +++ b/lisp/mail/emacsbug.el @@ -123,17 +123,26 @@ message-send-mail-function (defvar message-sendmail-envelope-from) ;;;###autoload -(defun report-emacs-bug (topic &optional unused) +(defun report-emacs-bug (topic package &optional unused) "Report a bug in GNU Emacs. Prompts for bug subject. Leaves you in a mail buffer." (declare (advertised-calling-convention (topic) "24.5")) - (interactive "sBug Subject: ") + (interactive (list + (read-string "Bug Subject: ") + (completing-read + "Package: " + (progn + (package-initialize) + package-alist)))) ;; The syntax `version;' is preferred to `[version]' because the ;; latter could be mistakenly stripped by mailing software. (setq topic (concat emacs-version "; " topic)) (let ((from-buffer (current-buffer)) (can-insert-mail (or (report-emacs-bug-can-use-xdg-email) (report-emacs-bug-can-use-osx-open))) + (cc (unless (or (string-empty-p package) (string= package "emacs")) + (require 'finder) + (lm-maintainer (find-library-name package)))) user-point message-end-point) (setq message-end-point (with-current-buffer (messages-buffer) @@ -160,6 +169,13 @@ report-emacs-bug (when (and (not message-sendmail-envelope-from) (message-bogus-recipient-p (message-make-address))) (set (make-local-variable 'message-sendmail-envelope-from) 'header))) + (when (cdr cc) ;; cdr is the email address. + (if (eq major-mode 'message-mode) + (message-position-on-field "X-Debbugs-Cc") + (mail-cc)) + (if (car cc) + (insert (format "%s <%s>" (car cc) (cdr cc))) + (insert (format "%s" (cdr cc))))) (rfc822-goto-eoh) (forward-line 1) ;; Move the mail signature to the proper place. -- 2.11.0 From 2114a448ad145923980dbe4d09ae5feff18eb49d Mon Sep 17 00:00:00 2001 From: Tino Calancha <tino.calancha@gmail.com> Date: Mon, 13 Mar 2017 18:56:45 +0900 Subject: [PATCH 3/3] * lisp/mail/emacsbug.el (report-emacs-bug): Send Cc to all maintainers. --- lisp/mail/emacsbug.el | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el index 656eeabe0f..018d2ea6a7 100644 --- a/lisp/mail/emacsbug.el +++ b/lisp/mail/emacsbug.el @@ -142,7 +142,7 @@ report-emacs-bug (report-emacs-bug-can-use-osx-open))) (cc (unless (or (string-empty-p package) (string= package "emacs")) (require 'finder) - (lm-maintainer (find-library-name package)))) + (lm-maintainer (find-library-name package) 'all))) user-point message-end-point) (setq message-end-point (with-current-buffer (messages-buffer) @@ -169,13 +169,19 @@ report-emacs-bug (when (and (not message-sendmail-envelope-from) (message-bogus-recipient-p (message-make-address))) (set (make-local-variable 'message-sendmail-envelope-from) 'header))) - (when (cdr cc) ;; cdr is the email address. - (if (eq major-mode 'message-mode) - (message-position-on-field "X-Debbugs-Cc") - (mail-cc)) - (if (car cc) - (insert (format "%s <%s>" (car cc) (cdr cc))) - (insert (format "%s" (cdr cc))))) + (dolist (maint cc) + (when (cdr maint) ;; cdr is the email address. + (if (eq major-mode 'message-mode) + (message-position-on-field "X-Debbugs-Cc") + (mail-cc)) + (cond ((car maint) + (insert (format "%s%s <%s>" + (if (looking-back ":[[:blank:]]+?" (point-at-bol)) "" ", ") + (car maint) (cdr maint)))) + (t + (insert (format "%s%s" + (if (looking-back ":[[:blank:]]+?" (point-at-bol)) "" ", ") + (cdr maint))))))) (rfc822-goto-eoh) (forward-line 1) ;; Move the mail signature to the proper place. -- 2.11.0 --8<-----------------------------cut here---------------end--------------->8--- In GNU Emacs 26.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.8) of 2017-03-13 Repository revision: 94b59f7dd1e8611495ff0f4596dc6dec20e268af ^ permalink raw reply related [flat|nested] 454+ messages in thread
* Re: [ELPA] I regret using subtree 2017-03-13 10:01 ` Tino Calancha @ 2017-03-13 13:46 ` Stefan Monnier 2017-03-13 14:30 ` Michael Albinus 0 siblings, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2017-03-13 13:46 UTC (permalink / raw) To: emacs-devel > There are files with more than 1 maintainer/author. Just pick up the > first one may not suffice. I disagree here. E.g. for Tramp, Kai is not involved any more, so the right fix is to add a "Maintainer:" to tramp.el. > II) There are files with plural versions of 'Author', 'Maintainer' headers > For instance, lisp/net/rcirc.el In this case `lm-maintainer' fall back > in `lm-authors' so that Liu wouldn't be in CC. Again, these are errors in the files. > III) > The e-mail format might confuse these tools. > E.g. > lisp/org/org-protocol.el > ;; Maintainer: Sebastian Rose <sebastian_rose AT gmx DOT de> > or in > lisp/progmodes/prolog.el > ;; Maintainer: Stefan Bruda <stefan(at)bruda(dot)ca> And here as well, these are errors in the file. I don't think we want to make lisp-mnt.el into some kind of DWIM guesswork when we can very easily fix the files. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: [ELPA] I regret using subtree 2017-03-13 13:46 ` Stefan Monnier @ 2017-03-13 14:30 ` Michael Albinus 2017-03-13 14:34 ` Tino Calancha 0 siblings, 1 reply; 454+ messages in thread From: Michael Albinus @ 2017-03-13 14:30 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >> There are files with more than 1 maintainer/author. Just pick up the >> first one may not suffice. > > I disagree here. E.g. for Tramp, Kai is not involved any more, so the > right fix is to add a "Maintainer:" to tramp.el. Done. Will appear in the repo next time I synchronize. > Stefan Best regards, Michael. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: [ELPA] I regret using subtree 2017-03-13 14:30 ` Michael Albinus @ 2017-03-13 14:34 ` Tino Calancha 0 siblings, 0 replies; 454+ messages in thread From: Tino Calancha @ 2017-03-13 14:34 UTC (permalink / raw) To: Michael Albinus; +Cc: Emacs developers On Mon, 13 Mar 2017, Michael Albinus wrote: > Stefan Monnier <monnier@iro.umontreal.ca> writes: > >>> There are files with more than 1 maintainer/author. Just pick up the >>> first one may not suffice. >> >> I disagree here. E.g. for Tramp, Kai is not involved any more, so the >> right fix is to add a "Maintainer:" to tramp.el. > > Done. Will appear in the repo next time I synchronize. Wow, that what really fast! without being in CC ;-) ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: [ELPA] I regret using subtree 2017-03-13 0:22 ` [ELPA] I regret using subtree (was: debbugs tracker builds character) Eric Abrahamsen 2017-03-13 0:53 ` [ELPA] I regret using subtree Stefan Monnier @ 2017-03-13 7:06 ` Thien-Thi Nguyen 2017-03-13 7:49 ` Eric Abrahamsen 1 sibling, 1 reply; 454+ messages in thread From: Thien-Thi Nguyen @ 2017-03-13 7:06 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 515 bytes --] () Eric Abrahamsen <eric@ericabrahamsen.net> () Sun, 12 Mar 2017 17:22:37 -0700 regret having used the subtree approach to squash Gnorb into Elpa Just curious: What is it you regret about it? TIA. -- Thien-Thi Nguyen ----------------------------------------------- (defun responsep (query) (pcase (context query) (`(technical ,ml) (correctp ml)) ...)) 748E A0E8 1CB8 A748 9BFA --------------------------------------- 6CE4 6703 2224 4C80 7502 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: [ELPA] I regret using subtree 2017-03-13 7:06 ` Thien-Thi Nguyen @ 2017-03-13 7:49 ` Eric Abrahamsen 0 siblings, 0 replies; 454+ messages in thread From: Eric Abrahamsen @ 2017-03-13 7:49 UTC (permalink / raw) To: emacs-devel Thien-Thi Nguyen <ttn@gnu.org> writes: > () Eric Abrahamsen <eric@ericabrahamsen.net> > () Sun, 12 Mar 2017 17:22:37 -0700 > > regret having used the subtree approach to squash > Gnorb into Elpa > > Just curious: What is it you regret about it? TIA. I don't have a strong enough grasp of git to feel confident with the relevant invocations -- I get it, but I don't grok it. There was a period of a year and a half when I did not update gnorb because I lost my saved "git subtree pull --squash" incantation, and just couldn't be bothered to read the blog posts and reconstruct it. I still don't know why it makes me do a merge commit afterwards. I use git daily, but at a pretty shallow level. I hate deployment friction, and that's what this turned out to be. I once laughed at Python's fabric, because it does almost nothing, yet now I use "fab deploy" (with test integration) as a matter of course, and bugs get fixed. If I knew git better it would be no problem, I'm sure, but I'm not interested in becoming a git expert. I like to keep it to feature branches, rebasing to master, and pushing. Eric ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 14:53 ` Michael Albinus 2016-07-20 14:57 ` Robert Weiner @ 2016-07-20 15:31 ` Ted Zlatanov 2016-07-20 16:56 ` Stefan Monnier 2016-07-20 19:34 ` Michael Albinus 2016-07-20 21:25 ` Eric Abrahamsen 2 siblings, 2 replies; 454+ messages in thread From: Ted Zlatanov @ 2016-07-20 15:31 UTC (permalink / raw) To: emacs-devel On Wed, 20 Jul 2016 16:53:45 +0200 Michael Albinus <michael.albinus@gmx.de> wrote: MA> Ted Zlatanov <tzz@lifelogs.com> writes: >> I wish I knew why people find the current bug tracker acceptable. It >> reminds me of the old ftpmail/DEC gatekeeper where you sent e-mails >> requesting files: MA> One of the requirements for a bug tracker for Emacs was, that it must be MA> possible to control everything via email. That's one of the reasons MA> debbugs was chosen. IMHO that's not an actual requirement. It's an implementation detail. The actual requirement was probably about disconnected operation or something like that. It must accomplish something from the user's viewpoint (and sending e-mail, in itself, does not accomplish anything). On Wed, 20 Jul 2016 15:44:03 +0200 Lars Ingebrigtsen <larsi@gnus.org> wrote: LI> The web interface? No, that's not a very pleasant interface, but I LI> think `M-x debbugs-gnu' is a better bug tracker interface than most. :-) There's a separation between the UI and the underlying functionality. IMHO, the underlying bug tracker is extremely limited. IMVHO, the `M-x debbugs-gnu' UI is decent but only because of a lot of hacking, and the same UI could be applied to other bug trackers. In other words, the reasons why it's good are not due to the bug tracker. I could be wrong on this, though, I don't know the internals well, I've just looked through the code. On Wed, 20 Jul 2016 16:58:24 +0200 Michael Albinus <michael.albinus@gmx.de> wrote: MA> Patches welcome! Or at least precise proposals what you would like to MA> get improved. "VCS integration" sounds too vague to me. The bug tracker should be aware of repositories, branches, commits, contributors, and ticket links or mentions in commit messages. Contributors should be able to tag and notify each other. Markdown etc. should be well supported. Inline code comments should be easy, and linked to a commit (so an updated commit can resolve the comment). This is just the essential stuff. I think this is not something you can solve with patches or good UI. It requires a tool architected correctly from the start. Such tools exist aplenty. Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 15:31 ` debbugs tracker builds character Ted Zlatanov @ 2016-07-20 16:56 ` Stefan Monnier 2016-07-20 17:54 ` Ted Zlatanov ` (2 more replies) 2016-07-20 19:34 ` Michael Albinus 1 sibling, 3 replies; 454+ messages in thread From: Stefan Monnier @ 2016-07-20 16:56 UTC (permalink / raw) To: emacs-devel > IMHO that's not an actual requirement. It's an implementation detail. I think at the time, working similarly to the old bug-gnu-emacs mailing-list was a clear desire. And I think it's probably still the case that we'd want our bug-tracker to be usable via email for those who want to (tho it's probably OK if only the main functions are available via this UI). > The actual requirement was probably about disconnected operation or > something like that. Yes, I agree that this is the crucial point. That's my motivation for developing BugIt (https://gitlab.com/monnier/bugit). I haven't had much time to devote to it lately, tho, so it's stuck at the stage of "proof of concept" right now. > The bug tracker should be aware of repositories, branches, commits, > contributors, and ticket links or mentions in commit messages. I've never seen a bug-tracker do anything really useful with those (other than what you can get by embedding URLs in the bug description/discussion), so I'd be interested to hear more (tho it could be difficult to retro-fit it into BugIt since BugIt is designed to be fundamentally an issue/ticket-tracking system not necessarily related to "code" or to any kind of VCS repository). > Contributors should be able to tag and notify each other. You mean to (re)assign bugs to particular persons and things like that? > Markdown etc. should be well supported. Right. In BugIt I decided to skip the "etc." part, tho. > Inline code comments should be easy, and linked to a commit (so an > updated commit can resolve the comment). How do you "update a commit"? What does "resolve a comment" mean? > I think this is not something you can solve with patches or good UI. > It requires a tool architected correctly from the start. Such tools > exist aplenty. Do you have a recommendation of something you consider well-designed (not necessarily for Emacs's use, so I could look at it)? Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 16:56 ` Stefan Monnier @ 2016-07-20 17:54 ` Ted Zlatanov 2016-07-20 19:03 ` Dmitry Gutov 2016-07-20 20:40 ` Stefan Monnier 2016-07-20 19:30 ` Dmitry Gutov 2016-07-21 5:50 ` Christian Kruse 2 siblings, 2 replies; 454+ messages in thread From: Ted Zlatanov @ 2016-07-20 17:54 UTC (permalink / raw) To: emacs-devel On Wed, 20 Jul 2016 12:56:54 -0400 Stefan Monnier <monnier@iro.umontreal.ca> wrote: >> IMHO that's not an actual requirement. It's an implementation detail. SM> I think at the time, working similarly to the old bug-gnu-emacs SM> mailing-list was a clear desire. SM> And I think it's probably still the case that we'd want our bug-tracker to SM> be usable via email for those who want to (tho it's probably OK if only SM> the main functions are available via this UI). >> The actual requirement was probably about disconnected operation or >> something like that. SM> Yes, I agree that this is the crucial point. That's my motivation for SM> developing BugIt (https://gitlab.com/monnier/bugit). SM> I haven't had much time to devote to it lately, tho, so it's stuck at SM> the stage of "proof of concept" right now. I'm not against a custom solution, but it's hard to justify the cost and effort compared to something more standard. Do you think BugIt can provide the features we've mentioned at some point? >> The bug tracker should be aware of repositories, branches, commits, >> contributors, and ticket links or mentions in commit messages. SM> I've never seen a bug-tracker do anything really useful with those SM> (other than what you can get by embedding URLs in the bug SM> description/discussion), so I'd be interested to hear more (tho it could SM> be difficult to retro-fit it into BugIt since BugIt is designed to be SM> fundamentally an issue/ticket-tracking system not necessarily related to SM> "code" or to any kind of VCS repository). Well, clearly the level of integration can vary. JIRA for instance doesn't have the deep Github integration that Github's issue tracker offers, but it's also more flexible. People have written thick books on these topics. For me personally, if I can *see* the specific code that fixes a ticket inside the ticket as a commit, and click my way to the wider commit and then diff from before that commit against today's state of that code, I've built a mental map of the code that would otherwise take me a lot of work. That's one common workflow. Another is to view several commits that fix a single ticket in one place. So it's not revolutionary, just simpler and more straightforward for the user. >> Contributors should be able to tag and notify each other. SM> You mean to (re)assign bugs to particular persons and things like that? Yes, plus ping someone or a team specifically: "hey, maybe the @gnus team should look at this" in a comment. >> Inline code comments should be easy, and linked to a commit (so an >> updated commit can resolve the comment). SM> How do you "update a commit"? What does "resolve a comment" mean? Rebase or amend+force push would update a branch destructively, which in a pull request context should show you that a comment was for a commit that's no longer in the branch. Furthermore some trackers allow you to mark a comment as resolved (e.g. Github recently added reactions, which can be used as ad-hoc markup). The next link in the chain are CI/CD hooks. You can set up a Github repo, for instance, to build every pull request before the reviewer ever looks, which saves a lot of time with compiled languages. It will run tests and so on, but most important is that it keeps the context inside the pull request, you don't have to go elsewhere. >> I think this is not something you can solve with patches or good UI. >> It requires a tool architected correctly from the start. Such tools >> exist aplenty. SM> Do you have a recommendation of something you consider well-designed SM> (not necessarily for Emacs's use, so I could look at it)? Github, Gitlab, BitBucket come immediately to mind as highly integrated environments that could host Emacs development. But they all have drawbacks you know. Gitlab seems closest to "acceptable" for the Emacs team but it's not GPL: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/LICENSE Ted ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 17:54 ` Ted Zlatanov @ 2016-07-20 19:03 ` Dmitry Gutov 2016-07-20 20:40 ` Stefan Monnier 1 sibling, 0 replies; 454+ messages in thread From: Dmitry Gutov @ 2016-07-20 19:03 UTC (permalink / raw) To: emacs-devel On 07/20/2016 08:54 PM, Ted Zlatanov wrote: > For me personally, if I can *see* the specific code that fixes a ticket > inside the ticket as a commit, and click my way to the wider commit and > then diff from before that commit against today's state of that code, > I've built a mental map of the code that would otherwise take me a lot > of work. That's one common workflow. Another is to view several commits > that fix a single ticket in one place. So it's not revolutionary, just > simpler and more straightforward for the user. Being able to close a bug just by mentioning it in a certain way in the commit message and pushing that commit is also handy. You don't have to switch to the bug discussion and duplicate that info there manually. > SM> How do you "update a commit"? What does "resolve a comment" mean? > > Rebase or amend+force push would update a branch destructively, which in > a pull request context should show you that a comment was for a commit > that's no longer in the branch. Furthermore some trackers allow you to > mark a comment as resolved (e.g. Github recently added reactions, which > can be used as ad-hoc markup). Even if you don't rebase, but just push a new commit to the branch upon review, IIRC both Github and Gitlab can see that the changes that started a particular discussion are no longer there (and collapse the comment sub-thread a no longer relevant, while allowing the user to expand it again if they so wish). And on the more basic level, compared to flat discussions in mailing lists, having separate subthread for each part of the patch the reviewer commented on, is great. You can have discussion sub-threads in the mailing list too, but people never split their emails in pieces that small. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 17:54 ` Ted Zlatanov 2016-07-20 19:03 ` Dmitry Gutov @ 2016-07-20 20:40 ` Stefan Monnier 1 sibling, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-07-20 20:40 UTC (permalink / raw) To: emacs-devel > Rebase or amend+force push would update a branch destructively, which in > a pull request context should show you that a comment was for a commit > that's no longer in the branch. Furthermore some trackers allow you to > mark a comment as resolved (e.g. Github recently added reactions, which > can be used as ad-hoc markup). I think I'm starting to see what you mean. You're talking about a tight integration where a pull-request is also itself an issue, so the comments can be directly on the patch itself. As opposed to having issues and pull-request be two separate things that can refer to each other via an indirection. So this is particularly useful/meaningful when reviewing a proposed patch from another developer, rather than when interacting with an end-user trying to track down some bugs here's experiencing (which is the kind of use-case I've had in mind when working on BugIt). But indeed, the two use-cases would best be served by the same tool since after the bug is tracked a patch might show up to fix it, after which a review process will come up. Food for thought, thank you, Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 16:56 ` Stefan Monnier 2016-07-20 17:54 ` Ted Zlatanov @ 2016-07-20 19:30 ` Dmitry Gutov 2016-07-20 20:43 ` Stefan Monnier 2016-07-21 5:50 ` Christian Kruse 2 siblings, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-07-20 19:30 UTC (permalink / raw) To: Stefan Monnier, emacs-devel On 07/20/2016 07:56 PM, Stefan Monnier wrote: > And I think it's probably still the case that we'd want our bug-tracker to > be usable via email for those who want to (tho it's probably OK if only > the main functions are available via this UI). You usually can receive bug comments over email, and reply to them, but not create or close an issue. There are HTTP APIs for that, though. >> The actual requirement was probably about disconnected operation or >> something like that. > > Yes, I agree that this is the crucial point. That's my motivation for > developing BugIt (https://gitlab.com/monnier/bugit). IMHO it's not that important a goal. The old-timers have lived without it for a while, and the youngsters have no idea that it's something to be desired. Or, if you want to say that it's already available with debbugs because one can delay the delivery of their emails, an Emacs package for interacting with the new bug tracker could implement something like a queue of delayed actions inside it. Being able to close bugs from commits (which you can push with a delay) would also lower the demand for such a feature. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 19:30 ` Dmitry Gutov @ 2016-07-20 20:43 ` Stefan Monnier 2016-07-21 10:37 ` Lars Ingebrigtsen 2016-07-21 21:39 ` Dmitry Gutov 0 siblings, 2 replies; 454+ messages in thread From: Stefan Monnier @ 2016-07-20 20:43 UTC (permalink / raw) To: emacs-devel >> Yes, I agree that this is the crucial point. That's my motivation for >> developing BugIt (https://gitlab.com/monnier/bugit). > IMHO it's not that important a goal. The old-timers have lived without it > for a while, and the youngsters have no idea that it's something to > be desired. The more I use BugIt, the more I find it important to be able to query the bug database while offline. Being able to queue actions so they're executed when I get online is not too terrible, but it's not really good enough. Stefan PS: Of course, I'm not representative because I avoid cell-phone technology, so I'm often offline. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 20:43 ` Stefan Monnier @ 2016-07-21 10:37 ` Lars Ingebrigtsen 2016-07-21 12:23 ` Michael Albinus 2016-07-21 21:39 ` Dmitry Gutov 1 sibling, 1 reply; 454+ messages in thread From: Lars Ingebrigtsen @ 2016-07-21 10:37 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: > The more I use BugIt, the more I find it important to be able to query > the bug database while offline. Being able to queue actions so they're > executed when I get online is not too terrible, but it's not really > good enough. debbugs-gnu has some half-assed support for offline usage which I've used a couple of times. It lacks hooks for just updating the bug reports that have been changed lately, though, so you get out of sync pretty quickly. I couldn't find any way to ask debbugs "what bugs have changed since time <foo>"... -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 10:37 ` Lars Ingebrigtsen @ 2016-07-21 12:23 ` Michael Albinus 2016-07-21 12:37 ` Lars Ingebrigtsen 0 siblings, 1 reply; 454+ messages in thread From: Michael Albinus @ 2016-07-21 12:23 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Stefan Monnier, emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > Stefan Monnier <monnier@iro.umontreal.ca> writes: > >> The more I use BugIt, the more I find it important to be able to query >> the bug database while offline. Being able to queue actions so they're >> executed when I get online is not too terrible, but it's not really >> good enough. > > debbugs-gnu has some half-assed support for offline usage which I've > used a couple of times. It lacks hooks for just updating the bug > reports that have been changed lately, though, so you get out of sync > pretty quickly. I couldn't find any way to ask debbugs "what bugs have > changed since time <foo>"... This might be possible by extending the SOAP interface. Not that I like it, but we've changed the SOAP interface already, so we aren't compatible with Debian's debbugs server anymore, for some operations. Best regards, Michael. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 12:23 ` Michael Albinus @ 2016-07-21 12:37 ` Lars Ingebrigtsen 2016-07-21 12:46 ` Michael Albinus 2016-07-22 10:18 ` Michael Albinus 0 siblings, 2 replies; 454+ messages in thread From: Lars Ingebrigtsen @ 2016-07-21 12:37 UTC (permalink / raw) To: Michael Albinus; +Cc: Stefan Monnier, emacs-devel Michael Albinus <michael.albinus@gmx.de> writes: > This might be possible by extending the SOAP interface. Not that I like > it, but we've changed the SOAP interface already, so we aren't > compatible with Debian's debbugs server anymore, for some operations. If you add such a function, I'll finish the offline implementation (and document it :-)). -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 12:37 ` Lars Ingebrigtsen @ 2016-07-21 12:46 ` Michael Albinus 2016-07-22 10:18 ` Michael Albinus 1 sibling, 0 replies; 454+ messages in thread From: Michael Albinus @ 2016-07-21 12:46 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Stefan Monnier, emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > Michael Albinus <michael.albinus@gmx.de> writes: > >> This might be possible by extending the SOAP interface. Not that I like >> it, but we've changed the SOAP interface already, so we aren't >> compatible with Debian's debbugs server anymore, for some operations. > > If you add such a function, I'll finish the offline implementation (and > document it :-)). I've feared that response ... not so much time. I'll check whether it could be implemented easily. No promise, tho. Best regards, Michael. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 12:37 ` Lars Ingebrigtsen 2016-07-21 12:46 ` Michael Albinus @ 2016-07-22 10:18 ` Michael Albinus 2016-07-22 10:21 ` Lars Ingebrigtsen ` (2 more replies) 1 sibling, 3 replies; 454+ messages in thread From: Michael Albinus @ 2016-07-22 10:18 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Stefan Monnier, emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > Michael Albinus <michael.albinus@gmx.de> writes: > >> This might be possible by extending the SOAP interface. Not that I like >> it, but we've changed the SOAP interface already, so we aren't >> compatible with Debian's debbugs server anymore, for some operations. > > If you add such a function, I'll finish the offline implementation (and > document it :-)). Looks like we have it already. `debbugs-search-est' supports the attribute :@cdate, which means modification date of a message. If you want to see all bugs of package "emacs" with a message sent between July 20th and July 30th 2016, you'll apply (apply 'debbugs-gnu-bugs (delete-dups (mapcar (lambda (x) (cdr (assoc "id" x))) (debbugs-search-est '(:max 1000) `(:@cdate ,(floor (float-time (encode-time 0 0 0 20 07 2016))) ,(floor (float-time (encode-time 0 0 0 30 07 2016))) :operator "NUMBT") '(:package "emacs"))))) Since status changes are also triggered by emails, you should get all modified bugs of that time frame. That's more than you want (just bugs with changed attributes), but it might be sufficient, if the time frame is not too large. This still needs some work. `debbugs-search-est' does not retrieve the results in seval hunks asynchronously, as `debbugs-get-status' does already. The attribute :@cdate is not exposed (yet) in `debbugs-gnu-search', and `debbugs-search-est' is also not documented yet in the Debbugs Programmer Guide. Will do all of this. Best regards, Michael. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-22 10:18 ` Michael Albinus @ 2016-07-22 10:21 ` Lars Ingebrigtsen 2016-07-22 11:47 ` Michael Albinus 2016-07-31 9:42 ` Michael Albinus 2 siblings, 0 replies; 454+ messages in thread From: Lars Ingebrigtsen @ 2016-07-22 10:21 UTC (permalink / raw) To: Michael Albinus; +Cc: Stefan Monnier, emacs-devel Michael Albinus <michael.albinus@gmx.de> writes: > This still needs some work. `debbugs-search-est' does not retrieve the > results in seval hunks asynchronously, as `debbugs-get-status' does > already. The attribute :@cdate is not exposed (yet) in > `debbugs-gnu-search', and `debbugs-search-est' is also not documented > yet in the Debbugs Programmer Guide. Will do all of this. Great! Looking forward to it... -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-22 10:18 ` Michael Albinus 2016-07-22 10:21 ` Lars Ingebrigtsen @ 2016-07-22 11:47 ` Michael Albinus 2016-07-31 9:42 ` Michael Albinus 2 siblings, 0 replies; 454+ messages in thread From: Michael Albinus @ 2016-07-22 11:47 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Stefan Monnier, emacs-devel Michael Albinus <michael.albinus@gmx.de> writes: > Looks like we have it already. `debbugs-search-est' supports the > attribute :@cdate, which means modification date of a message. If you > want to see all bugs of package "emacs" with a message sent between > July 20th and July 30th 2016, you'll apply For the records, I forgot the operator for the :package attribute. The correct call is (apply 'debbugs-gnu-bugs (delete-dups (mapcar (lambda (x) (cdr (assoc "id" x))) (debbugs-search-est '(:skip 0 :max 1000) `(:@cdate ,(floor (float-time (encode-time 0 0 0 20 07 2016))) ,(floor (float-time (encode-time 0 0 0 30 07 2016))) :operator "NUMBT") '(:package "emacs" :operator "STRINC"))))) Best regards, Michael. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-22 10:18 ` Michael Albinus 2016-07-22 10:21 ` Lars Ingebrigtsen 2016-07-22 11:47 ` Michael Albinus @ 2016-07-31 9:42 ` Michael Albinus 2 siblings, 0 replies; 454+ messages in thread From: Michael Albinus @ 2016-07-31 9:42 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: emacs-devel Michael Albinus <michael.albinus@gmx.de> writes: > Looks like we have it already. `debbugs-search-est' supports the > attribute :@cdate, which means modification date of a message. If you > want to see all bugs of package "emacs" with a message sent between > July 20th and July 30th 2016, you'll apply [...] Unfortunately, it doesn't work completely as expected. The debbugs search index is updated once a day only, so you don't get recent chages by such a search :-( I'll go back to the first idea, extending the SOAP interface, somehow. Best regards, Michael. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 20:43 ` Stefan Monnier 2016-07-21 10:37 ` Lars Ingebrigtsen @ 2016-07-21 21:39 ` Dmitry Gutov 2016-07-21 21:51 ` Stefan Monnier 1 sibling, 1 reply; 454+ messages in thread From: Dmitry Gutov @ 2016-07-21 21:39 UTC (permalink / raw) To: Stefan Monnier, emacs-devel On 07/20/2016 11:43 PM, Stefan Monnier wrote: > The more I use BugIt, the more I find it important to be able to query > the bug database while offline. Being able to queue actions so they're > executed when I get online is not too terrible, but it's not really > good enough. An Emacs interface could cache some information about open issues locally, too. So you could read them, queue some actions, and fire them off when online. Admittedly, that would require a significant amount of work, but this way we could use an existing issue tracker, rather than a new one developed just for this purpose. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 21:39 ` Dmitry Gutov @ 2016-07-21 21:51 ` Stefan Monnier 0 siblings, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-07-21 21:51 UTC (permalink / raw) To: Dmitry Gutov; +Cc: emacs-devel > Admittedly, that would require a significant amount of work, but this way we > could use an existing issue tracker, rather than a new one developed just > for this purpose. Of course. My interest in BugIt is just a personal interest in distributed bug tracking. I think Emacs should use something that works well and has a lot of existing maintainers, so we can focus on maintaining Emacs instead. I do think that my vision of what BugIt could be would work great for Emacs, but currently it's just a vision, and based on recent progress there's no reason to assume it will turn into anything else in the foreseeable future. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 16:56 ` Stefan Monnier 2016-07-20 17:54 ` Ted Zlatanov 2016-07-20 19:30 ` Dmitry Gutov @ 2016-07-21 5:50 ` Christian Kruse 2 siblings, 0 replies; 454+ messages in thread From: Christian Kruse @ 2016-07-21 5:50 UTC (permalink / raw) To: Stefan Monnier, emacs-devel [-- Attachment #1: Type: text/plain, Size: 391 bytes --] Stefan Monnier <monnier@iro.umontreal.ca> writes: >> Markdown etc. should be well supported. > > Right. In BugIt I decided to skip the "etc." part, tho. Github uses text from emails as-is and doesn't parse it as Markdown/CommonMark. I don't say that this is the right way to go, but it is worth a consideration. Best regards, -- Christian Kruse https://wwwtech.de/about [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 818 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 15:31 ` debbugs tracker builds character Ted Zlatanov 2016-07-20 16:56 ` Stefan Monnier @ 2016-07-20 19:34 ` Michael Albinus 1 sibling, 0 replies; 454+ messages in thread From: Michael Albinus @ 2016-07-20 19:34 UTC (permalink / raw) To: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: Hi Ted, >>> I wish I knew why people find the current bug tracker acceptable. It >>> reminds me of the old ftpmail/DEC gatekeeper where you sent e-mails >>> requesting files: > > MA> One of the requirements for a bug tracker for Emacs was, that it must be > MA> possible to control everything via email. That's one of the reasons > MA> debbugs was chosen. > > IMHO that's not an actual requirement. It's an implementation detail. <http://thread.gmane.org/gmane.emacs.devel/60833/focus=60976> That thread is the 10 years old discussion on emacs-devel, which ended up in deciding for debbugs. And I find the reasoning for using email still convincing. > On Wed, 20 Jul 2016 15:44:03 +0200 Lars Ingebrigtsen <larsi@gnus.org> wrote: > > LI> The web interface? No, that's not a very pleasant interface, but I > LI> think `M-x debbugs-gnu' is a better bug tracker interface than most. :-) > > There's a separation between the UI and the underlying functionality. > > IMHO, the underlying bug tracker is extremely limited. > > IMVHO, the `M-x debbugs-gnu' UI is decent but only because of a lot of > hacking, and the same UI could be applied to other bug trackers. In > other words, the reasons why it's good are not due to the bug tracker. I > could be wrong on this, though, I don't know the internals well, I've > just looked through the code. In general, you are right. First there was debbugs.el, which is a backend talking to the debbugs server (of Gnu or of Debian, both works). debbugs-gnu.el (and debbugs-org.el) were written years later, being just the UI, and being directed to the Gnu debbugs server. So there exist already a separation, although the interface between debbugs.el and debbugs-gnu.el is mainly driven by functions offered from debbugs.el. > On Wed, 20 Jul 2016 16:58:24 +0200 Michael Albinus > <michael.albinus@gmx.de> wrote: > > MA> Patches welcome! Or at least precise proposals what you would like to > MA> get improved. "VCS integration" sounds too vague to me. > > The bug tracker should be aware of repositories, branches, commits, > contributors, and ticket links or mentions in commit messages. > Contributors should be able to tag and notify each other. Markdown etc. > should be well supported. Inline code comments should be easy, and > linked to a commit (so an updated commit can resolve the comment). This > is just the essential stuff. Some of this exist already (tags), maybe underdocumented. For the rest I must at least sleep one night :-) > I think this is not something you can solve with patches or good UI. It > requires a tool architected correctly from the start. Such tools exist aplenty. A practical counter-argument: do you believe that debbugs is *such* bad that the vast majority of Emacs developers will follow you for a new bug tracker? I'm not a debbugs missionary, but in my daily work I found it sufficient. Somehow. > Ted Best regards, Michael. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 14:53 ` Michael Albinus 2016-07-20 14:57 ` Robert Weiner 2016-07-20 15:31 ` debbugs tracker builds character Ted Zlatanov @ 2016-07-20 21:25 ` Eric Abrahamsen 2016-07-21 10:41 ` Lars Ingebrigtsen 2 siblings, 1 reply; 454+ messages in thread From: Eric Abrahamsen @ 2016-07-20 21:25 UTC (permalink / raw) To: emacs-devel Michael Albinus <michael.albinus@gmx.de> writes: > Ted Zlatanov <tzz@lifelogs.com> writes: > >> TZ> Please consider me strongly in favor of a better code review system and >> TZ> a better bug tracker. Ideally they would be one and the same. >> >> I wish I knew why people find the current bug tracker acceptable. It >> reminds me of the old ftpmail/DEC gatekeeper where you sent e-mails >> requesting files: > > One of the requirements for a bug tracker for Emacs was, that it must be > possible to control everything via email. That's one of the reasons > debbugs was chosen. A suggestion from a part-time package maintainer: make `report-emacs-bug' prompt for a package, and offer the results of `featurep' as completion. If the user picks a package that only exists in ELPA, email the package maintainer with the bug report. I have no opinion about bug-tracking backends, the only reason I start packages off in github is that the issue tracker is mature. But I would prefer to be emailed via the debbugs interface. In fact, I would prefer to add a debbugs server to Gnus, which I would ignore 99% of the time, except when a bug came down that was reported against one of my packages. How far away from that are we? ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-20 21:25 ` Eric Abrahamsen @ 2016-07-21 10:41 ` Lars Ingebrigtsen 2016-07-21 12:33 ` Eric Abrahamsen 2016-07-21 12:34 ` Michael Albinus 0 siblings, 2 replies; 454+ messages in thread From: Lars Ingebrigtsen @ 2016-07-21 10:41 UTC (permalink / raw) To: Eric Abrahamsen; +Cc: emacs-devel Eric Abrahamsen <eric@ericabrahamsen.net> writes: > In fact, I would prefer to add a debbugs server to Gnus, which I would > ignore 99% of the time, except when a bug came down that was reported > against one of my packages. > > How far away from that are we? I don't think that's a massive amount of work, but it might be slow because of the limited query capabilities on the debbugs side... Hm... I mean, querying per package is fast-ish (well, it's pretty slow, but it's not unbearable), but seeing whether there's any new articles in all the bug reports you're following would require polling each bug report, and that's just s-l-o-w. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 10:41 ` Lars Ingebrigtsen @ 2016-07-21 12:33 ` Eric Abrahamsen 2016-07-21 12:34 ` Michael Albinus 1 sibling, 0 replies; 454+ messages in thread From: Eric Abrahamsen @ 2016-07-21 12:33 UTC (permalink / raw) To: emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > Eric Abrahamsen <eric@ericabrahamsen.net> writes: > >> In fact, I would prefer to add a debbugs server to Gnus, which I would >> ignore 99% of the time, except when a bug came down that was reported >> against one of my packages. >> >> How far away from that are we? > > I don't think that's a massive amount of work, but it might be slow > because of the limited query capabilities on the debbugs side... Hm... > > I mean, querying per package is fast-ish (well, it's pretty slow, but > it's not unbearable), but seeing whether there's any new articles in all > the bug reports you're following would require polling each bug report, > and that's just s-l-o-w. I guess it doesn't make too much sense to do it this way. If we're getting emails for bug reports we're subscribed to, then the problem's already solved. The main thing would be the prompting for package, and automatic emails to maintainers! ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: debbugs tracker builds character 2016-07-21 10:41 ` Lars Ingebrigtsen 2016-07-21 12:33 ` Eric Abrahamsen @ 2016-07-21 12:34 ` Michael Albinus 1 sibling, 0 replies; 454+ messages in thread From: Michael Albinus @ 2016-07-21 12:34 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Eric Abrahamsen, emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > I mean, querying per package is fast-ish (well, it's pretty slow, but > it's not unbearable), Packages in Emacs and packages in debbugs are not the same. Most of the packages in Emacs are tracked via the debbugs "emacs" package. There are exceptions, like "auctex", "gnus", "hyperbole" and "org-mode", which exist also as debbugs packages. Best regards, Michael. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 14:20 ` Ted Zlatanov 2016-07-06 15:08 ` Robert Weiner 2016-07-06 15:36 ` Eli Zaretskii @ 2016-07-07 12:46 ` Alan Mackenzie 2016-07-07 13:01 ` Phillip Lord 2016-07-07 21:56 ` Richard Stallman 3 siblings, 1 reply; 454+ messages in thread From: Alan Mackenzie @ 2016-07-07 12:46 UTC (permalink / raw) To: emacs-devel Hello, Ted. On Wed, Jul 06, 2016 at 10:20:07AM -0400, Ted Zlatanov wrote: > On Sun, 06 Mar 2016 13:52:04 -0800 John Wiegley <jwiegley@gmail.com> wrote: [ .... ] > But Emacs doesn't have a pull request contribution system, which makes > it hard to review things before they go in, so contributors must know > and follow the right format at all times. It's a pain. > So I would suggest moving to a pull request system, where code review > from a second contributor is required to merge any non-trivial code > (exceptions should be granted based on years contributing to Emacs). > That also gives *everyone* the opportunity to comment on the code before > it's merged, instead of post-facto. Clearly services such as Github and > BitBucket and many others have been offering this functionality for a > while with good results. > A big advantage of pull requests is that they can group commits, so each > commit doesn't need the level of detail it does today, and so the > evolution of the work is visible to a reviewer. I don't know exactly what is meant by "pull request" and "pull request system". I don't think they are established terms. The term seems to imply that instead of a contributor pushing a change from his machine to a central repository, some specially authorised authority would pull the change from the contributor's machine. This would seem to imply every contributor needing to set up an scp daemon on his local machine, which doesn't feel like a Good Thing. Please explain "pull request\( system\)?" more precisely. Thanks! > Then ChangeLogs become simply documentation for the merged code, > together with actual docs and other notes that are needed. The pull > request system can later provide *everything* that a ChangeLog could, > and more (such as better searching and cross-referencing) so in the long > term the ChangeLog can go away. > Ted -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 12:46 ` Is it time to drop ChangeLogs? Alan Mackenzie @ 2016-07-07 13:01 ` Phillip Lord 2016-07-07 13:57 ` Alan Mackenzie 0 siblings, 1 reply; 454+ messages in thread From: Phillip Lord @ 2016-07-07 13:01 UTC (permalink / raw) To: Alan Mackenzie; +Cc: emacs-devel Alan Mackenzie <acm@muc.de> writes: > Hello, Ted. > > On Wed, Jul 06, 2016 at 10:20:07AM -0400, Ted Zlatanov wrote: >> On Sun, 06 Mar 2016 13:52:04 -0800 John Wiegley <jwiegley@gmail.com> wrote: > > [ .... ] > >> But Emacs doesn't have a pull request contribution system, which makes >> it hard to review things before they go in, so contributors must know >> and follow the right format at all times. It's a pain. > >> So I would suggest moving to a pull request system, where code review >> from a second contributor is required to merge any non-trivial code >> (exceptions should be granted based on years contributing to Emacs). >> That also gives *everyone* the opportunity to comment on the code before >> it's merged, instead of post-facto. Clearly services such as Github and >> BitBucket and many others have been offering this functionality for a >> while with good results. > >> A big advantage of pull requests is that they can group commits, so each >> commit doesn't need the level of detail it does today, and so the >> evolution of the work is visible to a reviewer. > > I don't know exactly what is meant by "pull request" and "pull request > system". I don't think they are established terms. https://en.wikipedia.org/wiki/Distributed_version_control#Pull_requests You send an email saying "here are the changes that I want to incorporate". > The term seems to imply that instead of a contributor pushing a change > from his machine to a central repository, some specially authorised > authority would pull the change from the contributor's machine. This > would seem to imply every contributor needing to set up an scp daemon on > his local machine, which doesn't feel like a Good Thing. On *some* machine, yes. That can be their own server, or a hosted git repository, or a branch on the Emacs git repository. > Please explain "pull request\( system\)?" more precisely. https://en.wikipedia.org/wiki/List_of_tools_for_code_review It keeps a list of all the pull requests coming in. They provide things like inline comments over diffs, threaded conversation, integration with continuous integration. Many of them, once the PR is complete, will automate the merge to master. Phil ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 13:01 ` Phillip Lord @ 2016-07-07 13:57 ` Alan Mackenzie 2016-07-07 16:39 ` Phillip Lord 0 siblings, 1 reply; 454+ messages in thread From: Alan Mackenzie @ 2016-07-07 13:57 UTC (permalink / raw) To: Phillip Lord; +Cc: emacs-devel Hello, Phillip. On Thu, Jul 07, 2016 at 02:01:34PM +0100, Phillip Lord wrote: > Alan Mackenzie <acm@muc.de> writes: > > I don't know exactly what is meant by "pull request" and "pull request > > system". I don't think they are established terms. > https://en.wikipedia.org/wiki/Distributed_version_control#Pull_requests > You send an email saying "here are the changes that I want to > incorporate". Thanks. > > The term seems to imply that instead of a contributor pushing a change > > from his machine to a central repository, some specially authorised > > authority would pull the change from the contributor's machine. This > > would seem to imply every contributor needing to set up an scp daemon on > > his local machine, which doesn't feel like a Good Thing. > On *some* machine, yes. That can be their own server, or a hosted git > repository, or a branch on the Emacs git repository. The only one of these usable by me would be the last one. I can foresee this branch would be open to anybody to commit anything, and could quickly fill up with questionable changes. Anybody using this method would need to maintain their own copy of this "pull" branch. This could lead to quite a few logistical problems, could it not? Also, the email containing the patch is not the source for what gets merged? This seems inefficient. > > Please explain "pull request\( system\)?" more precisely. > https://en.wikipedia.org/wiki/List_of_tools_for_code_review > It keeps a list of all the pull requests coming in. They provide things > like inline comments over diffs, threaded conversation, integration with > continuous integration. Many of them, once the PR is complete, will > automate the merge to master. OK. > Phil -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 13:57 ` Alan Mackenzie @ 2016-07-07 16:39 ` Phillip Lord 0 siblings, 0 replies; 454+ messages in thread From: Phillip Lord @ 2016-07-07 16:39 UTC (permalink / raw) To: Alan Mackenzie; +Cc: emacs-devel Alan Mackenzie <acm@muc.de> writes: > Hello, Phillip. > >> > The term seems to imply that instead of a contributor pushing a change >> > from his machine to a central repository, some specially authorised >> > authority would pull the change from the contributor's machine. This >> > would seem to imply every contributor needing to set up an scp daemon on >> > his local machine, which doesn't feel like a Good Thing. > >> On *some* machine, yes. That can be their own server, or a hosted git >> repository, or a branch on the Emacs git repository. > > The only one of these usable by me would be the last one. I can > foresee this branch would be open to anybody to commit anything, and > could quickly fill up with questionable changes. Anybody using this > method would need to maintain their own copy of this "pull" branch. > This could lead to quite a few logistical problems, could it not? It doesn't in my experience. In generally, you create a feature branch for each thing you want included. Once it is merged to mainline, you throw it away again. If you are worried about permissions the repo could be created with individualized namespaces (so phil/* branches would be readable by all, but writeable only by me). > Also, the email containing the patch is not the source for what gets > merged? This seems inefficient. There is no patch. Discussion happens on each PR, when everyone is happy, you rebase trunk against the feature branch, merge back to trunk, and kill the feature branch. At the moment, many of the patches that get discussion here do not contain all the information anyway; I think patches with commit message are the minority. So in many ways this is better. Phil ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-06 14:20 ` Ted Zlatanov ` (2 preceding siblings ...) 2016-07-07 12:46 ` Is it time to drop ChangeLogs? Alan Mackenzie @ 2016-07-07 21:56 ` Richard Stallman 2016-07-08 12:16 ` Phillip Lord 3 siblings, 1 reply; 454+ messages in thread From: Richard Stallman @ 2016-07-07 21:56 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Currently, I think ChangeLogs are a barrier to contribution. We no longer directly maintain ChangeLog files. Are you talking about writing the commit log entries? The vast > majority of other software projects don't use them. Are you saying that most projects do not keep track of which functions are changed in each commit? How can maintainers figure out how to solve problems without detailed log records to show them which previous changes they need to study? That "vast majority" -- how long have those projects been going? GNU Emacs was first released over 30 years ago. > So I would suggest moving to a pull request system, where code review > from a second contributor is required to merge any non-trivial code > (exceptions should be granted based on years contributing to Emacs). > That also gives *everyone* the opportunity to comment on the code before > it's merged, instead of post-facto. Clearly services such as Github and > BitBucket and many others have been offering this functionality for a > while with good results. I don't know exactly how this works, but it seems like a good idea. > A big advantage of pull requests is that they can group commits, so each > commit doesn't need the level of detail it does today, and so the > evolution of the work is visible to a reviewer. I don't see how the one relates to the other. Better review of the changes before they installed will not eliminate the need for support _finding_ pertinent changes for a problem found 5 or 10 years from now. > The pull > request system can later provide *everything* that a ChangeLog could, I am skeptical of this claim. How precisely will the pull request system provide what we now get from the detailed lists of objects changed in the log entries? -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-07 21:56 ` Richard Stallman @ 2016-07-08 12:16 ` Phillip Lord 2016-07-09 16:55 ` Richard Stallman 0 siblings, 1 reply; 454+ messages in thread From: Phillip Lord @ 2016-07-08 12:16 UTC (permalink / raw) To: Richard Stallman; +Cc: Ted Zlatanov, emacs-devel Richard Stallman <rms@gnu.org> writes: > The vast > > majority of other software projects don't use them. > > Are you saying that most projects do not keep track of which functions > are changed in each commit? Yes, or at least not directly in the commit log. > How can maintainers figure out how to solve problems without detailed > log records to show them which previous changes they need to study? They use the version control system. This provides different information from the changelogs, of course. Worse in some cases, but better in others. A function that is renamed, for example, but stays in the same place in the file is better tracked by VC than a changelog. > That "vast majority" -- how long have those projects been going? GNU > Emacs was first released over 30 years ago. The vast majority are younger than Emacs, given that it's older than most. Phil ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-08 12:16 ` Phillip Lord @ 2016-07-09 16:55 ` Richard Stallman 2016-07-13 6:45 ` Andreas Röhler 2016-07-13 12:37 ` Stefan Monnier 0 siblings, 2 replies; 454+ messages in thread From: Richard Stallman @ 2016-07-09 16:55 UTC (permalink / raw) To: Phillip Lord; +Cc: tzz, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > They use the version control system. This provides different information > from the changelogs, of course. Worse in some cases, but better in > others. A function that is renamed, for example, but stays in the same > place in the file is better tracked by VC than a changelog. With all due respect, I think that is not true, not even close to being true. The change log is tremendously better in all cases than any other method I've seen. It is hard work to recover the change log from a diff. A diff doesn't generally show the names of the entities that it changes. It takes human effort have to see which entities are changed in any given checkin; thus, it takes lots and lots of human effort to find which checkins to the file affected any given entity. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-09 16:55 ` Richard Stallman @ 2016-07-13 6:45 ` Andreas Röhler 2016-07-13 12:37 ` Stefan Monnier 1 sibling, 0 replies; 454+ messages in thread From: Andreas Röhler @ 2016-07-13 6:45 UTC (permalink / raw) To: emacs-devel On 09.07.2016 18:55, Richard Stallman wrote: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > They use the version control system. This provides different information > > from the changelogs, of course. Worse in some cases, but better in > > others. A function that is renamed, for example, but stays in the same > > place in the file is better tracked by VC than a changelog. > > With all due respect, I think that is not true, not even close to > being true. The change log is tremendously better in all cases than > any other method I've seen. It is hard work to recover the change log > from a diff. > > A diff doesn't generally show the names of the entities that it > changes. It takes human effort have to see which entities are changed > in any given checkin; thus, it takes lots and lots of human effort to > find which checkins to the file affected any given entity. > Agree as a person who changed his opinion several times in this point: pure diff-logs don't provide a comparable information. Given an environment like Emacs, where communication is an important issue, a changelog seems worth its effort. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-09 16:55 ` Richard Stallman 2016-07-13 6:45 ` Andreas Röhler @ 2016-07-13 12:37 ` Stefan Monnier 2016-07-13 13:12 ` Robert Weiner ` (2 more replies) 1 sibling, 3 replies; 454+ messages in thread From: Stefan Monnier @ 2016-07-13 12:37 UTC (permalink / raw) To: emacs-devel > With all due respect, I think that is not true, not even close to > being true. The change log is tremendously better in all cases than > any other method I've seen. It is hard work to recover the change log > from a diff. But it's not like the VCS only has diffs to offer. "git log" gives pretty much the same info as the ChangeLog. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-13 12:37 ` Stefan Monnier @ 2016-07-13 13:12 ` Robert Weiner 2016-07-13 13:43 ` Stefan Monnier 2016-07-13 14:56 ` Eli Zaretskii 2016-07-14 16:05 ` Richard Stallman 2 siblings, 1 reply; 454+ messages in thread From: Robert Weiner @ 2016-07-13 13:12 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel On Wed, Jul 13, 2016 at 8:37 AM, Stefan Monnier <monnier@iro.umontreal.ca> wrote: > "git log" gives pretty much the same info as the ChangeLog. Hi Stefan: This seems very hard to believe, as a ChangeLog should include comments about the rationale for changes and should separate out each change. If I make 3 functional changes in one commit which I think would be common in many projects, each change across multiple files, the ChangeLog reflects 3 separate changes and can point out the files and identifiers involved in each change. How can an automated system do this (it would have to understand the semantics of the code)? Here is a short excerpt from Hyperbole's ChangeLog as an example. Can you show a git log example with similar functionality? * hypb.el (hypb:maximize-window-height): Added. hib-debbugs.el (debbugs-gnu-mode, smart-debbugs-gnu, debbugs-gnu-mode:help): Added to support the Smart Keys in Gnu Debbugs listing buffers. * hversion.el (id-info, id-info-item): Generalized and improved file handling. * hypb.el (hypb:format-quote): Added. hmouse-drv.el (hkey-debug): Called above function to protect existing % fields in ButLabel and Actions from affecting the message call. * DEMO (Hyperbole Menus): Updated with these new menu control features. hui-mouse.el (hkey-alist): Same changes for Smart Mouse Key as below in hui-mini.el. hui-mini.el (hui:menu-select): Changed to make a press of RET within a menu prefix (before a '>') return to the top-level menu and a press at the end of the menu, quit the menu. Bob ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-13 13:12 ` Robert Weiner @ 2016-07-13 13:43 ` Stefan Monnier 2016-07-13 14:17 ` Robert Weiner 0 siblings, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-07-13 13:43 UTC (permalink / raw) To: emacs-devel > This seems very hard to believe, as a ChangeLog should include > comments about the rationale for changes and should separate out each > change. The ChangeLog should contain what we decide it should contain. The "git log" should contain what we decide it should contain. So it's actually easy to make sure "git log" gives the same info: just decide that it should be so (and try to enforce it). In Emacs we indeed decided that it should be so and we make an effort to enforce it. The only thing really missing to get rid of the remaining differences is a way to fix "git log" errors (typo and omissions, typically) after the fact. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-13 13:43 ` Stefan Monnier @ 2016-07-13 14:17 ` Robert Weiner 2016-07-13 15:15 ` Stefan Monnier 0 siblings, 1 reply; 454+ messages in thread From: Robert Weiner @ 2016-07-13 14:17 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel On Wed, Jul 13, 2016 at 9:43 AM, Stefan Monnier <monnier@iro.umontreal.ca> wrote: > The ChangeLog should contain what we decide it should contain. > The "git log" should contain what we decide it should contain. Ok, I see. You are talking about simply having ChangeLog entries as part of the version control system, not having the system generate ChangeLog entries from the code changes. It seems at some point the latter was being discussed. Personally, I like having a single file that I can reference for major changes to a program and another file for news about such changes without needing a specific tool to examine these changes. But if the version control system can generate such a file when distributions are made, then we are pretty much talking about the same thing, with the added bonus of being able to extract different snapshots of focused changes based on the tool and the code versions. Bob ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-13 14:17 ` Robert Weiner @ 2016-07-13 15:15 ` Stefan Monnier 0 siblings, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-07-13 15:15 UTC (permalink / raw) To: emacs-devel > Ok, I see. You are talking about simply having ChangeLog entries as > part of the version control system, not having the system generate > ChangeLog entries from the code changes. No, I don't think anybody would argue to drop commit messages. While I do like it when as much as possible of the info is placed directly in the code, the commit message provides information which seems pretty hard to auto-generate since it generally requires a much higher-level understanding of the intention behind the code. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-13 12:37 ` Stefan Monnier 2016-07-13 13:12 ` Robert Weiner @ 2016-07-13 14:56 ` Eli Zaretskii 2016-07-13 15:33 ` Stefan Monnier 2016-07-14 11:56 ` Phillip Lord 2016-07-14 16:05 ` Richard Stallman 2 siblings, 2 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-07-13 14:56 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel > From: Stefan Monnier <monnier@iro.umontreal.ca> > Date: Wed, 13 Jul 2016 08:37:36 -0400 > > > With all due respect, I think that is not true, not even close to > > being true. The change log is tremendously better in all cases than > > any other method I've seen. It is hard work to recover the change log > > from a diff. > > But it's not like the VCS only has diffs to offer. > "git log" gives pretty much the same info as the ChangeLog. Only because we format commit log messages as we did with ChangeLog. The issue at hand was to stop requiring that. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-13 14:56 ` Eli Zaretskii @ 2016-07-13 15:33 ` Stefan Monnier 2016-07-13 15:36 ` Robert Weiner 2016-07-14 11:56 ` Phillip Lord 1 sibling, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-07-13 15:33 UTC (permalink / raw) To: emacs-devel > Only because we format commit log messages as we did with ChangeLog. > The issue at hand was to stop requiring that. Our commit messages aren't great. I don't think dropping the only requirement we have for them is going to help. So, it seems any discussion about such a topic should start by discussing what we'd use *instead*. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-13 15:33 ` Stefan Monnier @ 2016-07-13 15:36 ` Robert Weiner 2016-07-13 15:47 ` Stefan Monnier 0 siblings, 1 reply; 454+ messages in thread From: Robert Weiner @ 2016-07-13 15:36 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel On Wed, Jul 13, 2016 at 11:33 AM, Stefan Monnier <monnier@iro.umontreal.ca> wrote: > Our commit messages aren't great. What do you think are the main reasons for this? Bob ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-13 15:36 ` Robert Weiner @ 2016-07-13 15:47 ` Stefan Monnier 2016-07-13 16:54 ` Robert Weiner 0 siblings, 1 reply; 454+ messages in thread From: Stefan Monnier @ 2016-07-13 15:47 UTC (permalink / raw) To: emacs-devel >> Our commit messages aren't great. > What do you think are the main reasons for this? The main reason I can see is that we can't fix them after-the fact because Git doesn't support that feature. We could try and be more strict on "write access", so as to try and check the commit message quality before the commit is pushed, which would help reduce the need to fix them after the fact, but there will always be cases where we'd want to improve them after the fact. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-13 15:47 ` Stefan Monnier @ 2016-07-13 16:54 ` Robert Weiner 2016-07-13 16:59 ` Stefan Monnier 2016-07-13 17:47 ` Sven Axelsson 0 siblings, 2 replies; 454+ messages in thread From: Robert Weiner @ 2016-07-13 16:54 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel On Wed, Jul 13, 2016 at 11:47 AM, Stefan Monnier <monnier@iro.umontreal.ca> wrote: > The main reason I can see is that we can't fix them after-the fact > because Git doesn't support that feature. Yes, this is a common need and Git should be changed to allow editing of commit log entries even though this could be said to change the state of the prior releases. Bob ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-13 16:54 ` Robert Weiner @ 2016-07-13 16:59 ` Stefan Monnier 2016-07-13 17:47 ` Sven Axelsson 1 sibling, 0 replies; 454+ messages in thread From: Stefan Monnier @ 2016-07-13 16:59 UTC (permalink / raw) To: emacs-devel >> The main reason I can see is that we can't fix them after-the fact >> because Git doesn't support that feature. > Yes, this is a common need and Git should be changed to allow editing > of commit log entries even though this could be said to change the > state of the prior releases. This has been hashed and rehashed: no, you don't need to change history for that. You only need to make "git log" pay attention to erratas added later on. IOW, if you "git checkout emacs-24.1; git log" you'd get the commit entries as they were when the emacs-24.1 commit-id was committed, which may be different from the entries you see if you do "get checkout master; git log" since some of the old entries may have been fixed in the mean time. Stefan ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-13 16:54 ` Robert Weiner 2016-07-13 16:59 ` Stefan Monnier @ 2016-07-13 17:47 ` Sven Axelsson 1 sibling, 0 replies; 454+ messages in thread From: Sven Axelsson @ 2016-07-13 17:47 UTC (permalink / raw) To: rswgnu; +Cc: Stefan Monnier, emacs-devel [-- Attachment #1: Type: text/plain, Size: 770 bytes --] On 13 July 2016 at 18:54, Robert Weiner <rsw@gnu.org> wrote: > On Wed, Jul 13, 2016 at 11:47 AM, Stefan Monnier > <monnier@iro.umontreal.ca> wrote: > > The main reason I can see is that we can't fix them after-the fact > > because Git doesn't support that feature. > > Yes, this is a common need and Git should be changed to allow editing > of commit log entries even though this could be said to change the > state of the prior releases. > A couple of months ago it was suggested to use `git replace --edit` for that. Did anyone try it out to see if it could be used in the Emacs workflow? -- Sven Axelsson ++++++++++[>++++++++++>+++++++++++>++++++++++>++++++ >++++<<<<<-]>++++.+.++++.>+++++.>+.<<-.>>+.>++++.<<. +++.>-.<<++.>>----.<++.>>>++++++.<<<<.>>++++.<----. [-- Attachment #2: Type: text/html, Size: 1397 bytes --] ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-13 14:56 ` Eli Zaretskii 2016-07-13 15:33 ` Stefan Monnier @ 2016-07-14 11:56 ` Phillip Lord 2016-07-14 15:15 ` Eli Zaretskii 2016-07-15 15:09 ` Richard Stallman 1 sibling, 2 replies; 454+ messages in thread From: Phillip Lord @ 2016-07-14 11:56 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Stefan Monnier, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: Stefan Monnier <monnier@iro.umontreal.ca> >> Date: Wed, 13 Jul 2016 08:37:36 -0400 >> >> > With all due respect, I think that is not true, not even close to >> > being true. The change log is tremendously better in all cases than >> > any other method I've seen. It is hard work to recover the change log >> > from a diff. >> >> But it's not like the VCS only has diffs to offer. >> "git log" gives pretty much the same info as the ChangeLog. > > Only because we format commit log messages as we did with ChangeLog. > The issue at hand was to stop requiring that. I would suggest not the idea was not to no longer require changelog format, but to replace it with something else. There are two main problems with ChangeLog format -- first, it's just a bit of a pain splitting the information into changes associated with individual functions. The second, more substantive issue, is that it focuses the mind too much on how we have changed things rather than why, at least in my experience. For myself, it's a pretty minor issue compared to having some pull request queue software, so I will comment no further. Phil ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-14 11:56 ` Phillip Lord @ 2016-07-14 15:15 ` Eli Zaretskii 2016-07-15 15:09 ` Richard Stallman 1 sibling, 0 replies; 454+ messages in thread From: Eli Zaretskii @ 2016-07-14 15:15 UTC (permalink / raw) To: Phillip Lord; +Cc: monnier, emacs-devel > From: phillip.lord@russet.org.uk (Phillip Lord) > Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org > Date: Thu, 14 Jul 2016 12:56:34 +0100 > > I would suggest not the idea was not to no longer require changelog > format, but to replace it with something else. No one suggested any particular format, the only suggestion was to relax the current requirements, AFAIR. > There are two main problems with ChangeLog format -- first, it's just a > bit of a pain splitting the information into changes associated with > individual functions. Stefan mention the feature of diff-mode, which IMO is very convenient if you run it on the output of "git diff" or something similar. > The second, more substantive issue, is that it focuses the mind too > much on how we have changed things rather than why, at least in my > experience. It's up to us. Just to show you a random example to the contrary: commit fbfd4787fbec11fe69f5e661e7c5ab4436f7cb72 Author: Eli Zaretskii <eliz@gnu.org> Date: Tue May 24 19:04:16 2016 +0300 Avoid aborting due to errors in arguments of 'set-face-attribute' * src/xfaces.c (Finternal_set_lisp_face_attribute): Check the FRAME argument before using it. This avoids gratuitous aborts in Emacs built with --enable-checking when the luser was unlucky enough to get the argument list in wrong order. You will find quite a few similar examples in Paul's commits, for example. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-14 11:56 ` Phillip Lord 2016-07-14 15:15 ` Eli Zaretskii @ 2016-07-15 15:09 ` Richard Stallman 1 sibling, 0 replies; 454+ messages in thread From: Richard Stallman @ 2016-07-15 15:09 UTC (permalink / raw) To: Phillip Lord; +Cc: eliz, monnier, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > There are two main problems with ChangeLog format -- first, it's just a > bit of a pain splitting the information into changes associated with > individual functions. The second, more substantive issue, is that it > focuses the mind too much on how we have changed things rather than why, > at least in my experience. We could ask people to give bigger overall explanations in the log entry. However, those should be in addition to, not instead of, explaining in comments in the code. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
* Re: Is it time to drop ChangeLogs? 2016-07-13 12:37 ` Stefan Monnier 2016-07-13 13:12 ` Robert Weiner 2016-07-13 14:56 ` Eli Zaretskii @ 2016-07-14 16:05 ` Richard Stallman 2 siblings, 0 replies; 454+ messages in thread From: Richard Stallman @ 2016-07-14 16:05 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > With all due respect, I think that is not true, not even close to > > being true. The change log is tremendously better in all cases than > > any other method I've seen. It is hard work to recover the change log > > from a diff. > But it's not like the VCS only has diffs to offer. > "git log" gives pretty much the same info as the ChangeLog. I think we are miscommunicating. The data we formerly put in the ChangeLog file, we now put into the git commit log, and 'git log' is now the way to look at it. It is the same data, and we can use it the same way. But that's not the issue now. Unless I have misunderstood, someone is now arguing that we shouldn't write that information _at all, anywhere_. That is what I oppose. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 454+ messages in thread
end of thread, other threads:[~2017-03-13 14:34 UTC | newest] Thread overview: 454+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <rrd1v05yaj.fsf@fencepost.gnu.org> [not found] ` <56BE7E37.3090708@cs.ucla.edu> [not found] ` <4hd1rw1ubr.fsf@fencepost.gnu.org> [not found] ` <nz60x22nt2.fsf@fencepost.gnu.org> [not found] ` <83vb50wxhv.fsf@gnu.org> [not found] ` <m3a8mcdjjx.fsf@gnus.org> [not found] ` <m2io0zz56d.fsf@newartisans.com> [not found] ` <87y49vz4cg.fsf@acer.localhost.com> 2016-03-06 21:52 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) John Wiegley 2016-03-06 22:05 ` Eric S. Raymond 2016-03-08 11:11 ` Is it time to drop ChangeLogs? Uwe Brauer 2016-03-08 14:43 ` Stefan Monnier 2016-03-08 14:58 ` Uwe Brauer 2016-03-08 15:16 ` Stefan Monnier 2016-03-08 16:13 ` Paul Eggert 2016-03-08 16:17 ` Eli Zaretskii 2016-03-08 19:21 ` ChangeLog to *VC-log* (was: Is it time to drop ChangeLogs?) Stephen Berman 2016-03-08 22:26 ` ChangeLog to *VC-log* Dmitry Gutov 2016-03-08 23:07 ` Stephen Berman 2016-03-08 23:11 ` Dmitry Gutov 2016-03-09 19:30 ` Stephen Berman 2016-03-09 19:33 ` Lars Magne Ingebrigtsen 2016-03-09 20:00 ` Eli Zaretskii 2016-03-09 23:01 ` Stephen Berman 2016-03-10 6:26 ` Eli Zaretskii 2016-03-10 12:59 ` Stephen Berman 2016-03-10 13:13 ` Stefan Monnier 2016-03-10 7:16 ` Xue Fuqiao 2016-03-10 12:59 ` Stephen Berman 2016-03-09 2:01 ` Stefan Monnier 2016-03-06 22:34 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) Paul Eggert 2016-03-07 16:26 ` bug#21998: " Eli Zaretskii 2016-03-06 23:06 ` Drew Adams 2016-03-07 0:15 ` Is it time to drop ChangeLogs? John Wiegley 2016-03-07 0:24 ` Drew Adams 2016-03-07 16:28 ` Eli Zaretskii 2016-03-07 16:31 ` John Wiegley 2016-03-07 16:57 ` Eli Zaretskii 2016-03-07 20:46 ` Nikolaus Rath 2016-03-07 21:04 ` Eric S. Raymond 2016-03-07 21:14 ` Eli Zaretskii 2016-03-07 21:10 ` Eli Zaretskii 2016-03-07 21:15 ` Nikolaus Rath 2016-03-07 21:23 ` Eli Zaretskii 2016-03-07 21:28 ` Nikolaus Rath 2016-03-08 3:38 ` Eli Zaretskii 2016-03-08 5:00 ` Nikolaus Rath 2016-03-08 15:59 ` Eli Zaretskii 2016-03-08 16:12 ` Nikolaus Rath 2016-03-08 16:26 ` Stefan Monnier 2016-03-08 16:44 ` Eli Zaretskii 2016-03-07 21:32 ` Karl Fogel 2016-03-07 21:19 ` Dmitry Gutov 2016-03-07 21:43 ` Karl Fogel 2016-03-07 22:01 ` Dmitry Gutov 2016-03-07 22:24 ` Karl Fogel 2016-03-07 22:45 ` Dmitry Gutov 2016-03-07 22:47 ` Dmitry Gutov 2016-03-07 23:24 ` Karl Fogel 2016-03-08 1:25 ` Dmitry Gutov 2016-03-08 15:21 ` Andy Moreton 2016-03-08 16:21 ` Eli Zaretskii 2016-03-08 15:48 ` Eli Zaretskii 2016-03-07 21:30 ` Lars Magne Ingebrigtsen 2016-03-08 3:41 ` Eli Zaretskii 2016-03-08 16:54 ` John Wiegley 2016-03-08 17:18 ` Karl Fogel 2016-03-08 17:21 ` John Wiegley 2016-03-08 17:35 ` Karl Fogel 2016-03-08 17:40 ` Eli Zaretskii 2016-03-08 18:19 ` Karl Fogel 2016-03-08 19:03 ` Stefan Monnier 2016-03-08 20:28 ` Óscar Fuentes 2016-03-08 20:37 ` Eli Zaretskii 2016-03-08 21:25 ` Ingo Lohmar 2016-03-08 21:36 ` Alan Mackenzie 2016-03-09 19:32 ` Ingo Lohmar 2016-03-09 20:06 ` Eli Zaretskii 2016-03-09 20:22 ` Ingo Lohmar 2016-03-09 20:48 ` Eli Zaretskii 2016-03-10 21:21 ` Richard Stallman 2016-03-09 3:46 ` Eli Zaretskii 2016-03-09 6:41 ` John Wiegley 2016-03-09 15:53 ` Eli Zaretskii 2016-03-09 16:41 ` Eli Zaretskii 2016-03-09 18:09 ` Paul Eggert 2016-03-09 18:18 ` Karl Fogel 2016-03-09 18:32 ` Eli Zaretskii 2016-03-09 19:36 ` Karl Fogel 2016-03-09 20:21 ` Eli Zaretskii 2016-03-09 20:42 ` Karl Fogel 2016-03-09 20:59 ` Eli Zaretskii 2016-03-09 23:03 ` Nikolaus Rath 2016-03-09 23:39 ` Paul Eggert 2016-03-10 6:47 ` Eli Zaretskii 2016-03-10 21:23 ` Richard Stallman 2016-03-11 1:51 ` Paul Eggert 2016-03-11 8:48 ` Eli Zaretskii 2016-03-11 17:17 ` Nikolaus Rath 2016-03-11 18:03 ` Paul Eggert 2016-03-11 18:28 ` Eli Zaretskii 2016-03-11 19:53 ` Nikolaus Rath 2016-03-11 20:04 ` Eli Zaretskii 2016-03-11 20:08 ` Nikolaus Rath 2016-03-11 20:33 ` Eli Zaretskii 2016-03-12 3:32 ` Nikolaus Rath 2016-03-12 7:47 ` Eli Zaretskii 2016-03-13 21:43 ` Nikolaus Rath 2016-03-14 3:33 ` Eli Zaretskii 2016-03-14 14:56 ` Nikolaus Rath 2016-03-14 17:09 ` Eli Zaretskii 2016-03-11 22:37 ` Stefan Monnier 2016-03-12 3:33 ` Nikolaus Rath 2016-03-12 19:26 ` Richard Stallman 2016-03-12 21:08 ` Stefan Monnier 2016-03-12 22:10 ` John Wiegley 2016-03-12 22:33 ` Stefan Monnier 2016-03-13 15:53 ` Eli Zaretskii 2016-03-13 16:05 ` Dmitry Gutov 2016-03-13 17:16 ` Eli Zaretskii 2016-03-13 17:22 ` Yuri Khan 2016-03-13 17:30 ` Eli Zaretskii 2016-03-13 17:42 ` Yuri Khan 2016-03-13 18:09 ` Eli Zaretskii 2016-03-13 17:16 ` Stefan Monnier 2016-03-13 17:52 ` David Caldwell 2016-03-09 16:41 ` Eli Zaretskii 2016-03-09 18:24 ` Paul Eggert 2016-03-09 18:41 ` Eli Zaretskii 2016-03-09 19:10 ` Paul Eggert 2016-03-09 19:20 ` Eli Zaretskii 2016-03-09 19:51 ` Ingo Lohmar 2016-03-09 20:30 ` Eli Zaretskii 2016-03-09 20:50 ` Ingo Lohmar 2016-03-09 21:03 ` Eli Zaretskii 2016-03-08 3:30 ` Stefan Monnier 2016-03-08 5:33 ` Nikolaus Rath 2016-03-08 6:39 ` Eric Abrahamsen 2016-03-08 16:08 ` Nikolaus Rath 2016-03-08 16:43 ` Eli Zaretskii 2016-03-09 0:47 ` Eric Abrahamsen 2016-03-08 14:38 ` Stefan Monnier 2016-03-07 0:22 ` Mathieu Lirzin 2016-03-07 1:19 ` bug#21998: " Eric S. Raymond 2016-03-07 16:30 ` Eli Zaretskii 2016-03-07 16:33 ` John Wiegley 2016-03-07 16:58 ` Eli Zaretskii 2016-03-07 17:16 ` Should we restore manually maintained ChangeLogs (was: Is it time to drop ChangeLogs?) John Wiegley 2016-03-07 17:42 ` Should we restore manually maintained ChangeLogs Karl Fogel 2016-03-07 17:50 ` Should we restore manually maintained ChangeLogs (was: Is it time to drop ChangeLogs?) Eli Zaretskii 2016-03-07 19:02 ` Should we restore manually maintained ChangeLogs Paul Eggert 2016-03-07 21:06 ` Eli Zaretskii 2016-03-07 21:42 ` Dmitry Gutov 2016-03-08 15:45 ` Eli Zaretskii 2016-03-08 16:14 ` Stefan Monnier 2016-03-08 16:46 ` Eli Zaretskii 2016-03-08 16:34 ` Paul Eggert 2016-03-08 17:05 ` Eli Zaretskii 2016-03-09 1:08 ` Paul Eggert 2016-03-09 3:47 ` Eli Zaretskii 2016-03-08 17:44 ` Dmitry Gutov 2016-03-08 18:02 ` Eli Zaretskii 2016-03-08 18:11 ` Dmitry Gutov 2016-03-07 23:31 ` Paul Eggert 2016-03-08 14:03 ` Mathieu Lirzin 2016-03-08 15:15 ` Stefan Monnier 2016-03-08 16:19 ` Eli Zaretskii 2016-03-08 16:31 ` Stefan Monnier 2016-03-08 16:15 ` Eli Zaretskii 2016-03-08 15:50 ` Eli Zaretskii 2016-03-09 7:58 ` Paul Eggert 2016-03-09 13:19 ` Stefan Monnier 2016-03-09 16:10 ` Dmitry Gutov 2016-03-09 18:39 ` Stefan Monnier 2016-03-09 18:49 ` Dmitry Gutov 2016-03-09 17:42 ` Paul Eggert 2016-03-09 18:01 ` Eli Zaretskii 2016-03-09 18:10 ` Alan Mackenzie 2016-03-09 19:09 ` Stefan Monnier 2016-03-09 19:34 ` Alan Mackenzie 2016-03-09 19:42 ` Andreas Schwab 2016-03-09 23:39 ` Christopher Allan Webber 2016-03-09 21:25 ` Stefan Monnier 2016-03-09 23:08 ` Nikolaus Rath 2016-03-09 23:43 ` Andreas Schwab 2016-03-10 6:49 ` Eli Zaretskii 2016-03-10 9:05 ` Andreas Schwab 2016-03-10 9:44 ` Eli Zaretskii 2016-03-10 10:00 ` Andreas Schwab 2016-03-10 10:34 ` Eli Zaretskii 2016-03-10 11:49 ` Sven Axelsson 2016-03-10 13:08 ` Eli Zaretskii 2016-03-10 13:14 ` Evgeny Panasyuk 2016-03-10 13:25 ` Sven Axelsson 2016-03-10 13:43 ` Eli Zaretskii 2016-03-13 4:04 ` John Wiegley 2016-03-13 16:08 ` Eli Zaretskii 2016-03-10 15:03 ` Stefan Monnier 2016-03-10 16:01 ` Sven Axelsson 2016-03-10 16:34 ` Paul Eggert 2016-03-10 17:17 ` Stefan Monnier 2016-03-10 17:32 ` Yuri Khan 2016-03-10 17:39 ` Paul Eggert 2016-03-10 18:50 ` Eli Zaretskii 2016-03-10 19:09 ` Stefan Monnier 2016-03-09 23:30 ` Noam Postavsky 2016-03-10 13:03 ` Stefan Monnier 2016-03-13 4:06 ` John Wiegley 2016-03-09 18:10 ` Dmitry Gutov 2016-03-09 18:55 ` Paul Eggert 2016-03-09 19:14 ` Eli Zaretskii 2016-03-09 19:26 ` Paul Eggert 2016-03-09 19:57 ` Eli Zaretskii 2016-03-10 1:32 ` Paul Eggert 2016-03-10 6:55 ` Eli Zaretskii 2016-03-10 16:41 ` Paul Eggert 2016-03-10 17:20 ` Stefan Monnier 2016-03-10 17:39 ` Wolfgang Jenkner 2016-03-09 16:04 ` Eli Zaretskii 2016-03-09 18:16 ` Paul Eggert 2016-03-09 18:27 ` Eli Zaretskii 2016-03-09 18:34 ` Paul Eggert 2016-03-09 18:39 ` Dmitry Gutov 2016-03-09 18:55 ` Paul Eggert 2016-03-09 18:44 ` Eli Zaretskii 2016-03-07 18:05 ` Andy Moreton 2016-03-07 23:05 ` Dmitry Gutov 2016-03-07 18:07 ` Is it time to drop ChangeLogs? Óscar Fuentes 2016-03-07 18:13 ` Óscar Fuentes 2016-03-07 20:59 ` Eli Zaretskii 2016-03-07 21:10 ` Óscar Fuentes 2016-03-07 21:18 ` Eli Zaretskii 2016-03-07 21:29 ` Óscar Fuentes 2016-03-07 21:56 ` Clément Pit--Claudel 2016-03-07 22:19 ` Óscar Fuentes 2016-03-08 3:45 ` Eli Zaretskii 2016-03-08 4:34 ` Óscar Fuentes 2016-03-08 6:16 ` David Engster 2016-03-08 13:53 ` Óscar Fuentes 2016-03-08 17:16 ` David Engster 2016-03-08 20:09 ` Óscar Fuentes 2016-03-08 15:58 ` Eli Zaretskii 2016-03-08 20:00 ` Óscar Fuentes 2016-03-08 3:44 ` Eli Zaretskii 2016-03-08 3:25 ` Code reviews (was: Is it time to drop ChangeLogs?) Stefan Monnier 2016-03-08 4:15 ` Code reviews Óscar Fuentes 2016-03-08 5:30 ` Stefan Monnier 2016-03-08 8:48 ` Phillip Lord 2016-03-08 12:09 ` Yuri Khan 2016-03-08 13:27 ` Stefan Monnier 2016-03-09 15:06 ` Phillip Lord 2016-03-08 16:09 ` Eli Zaretskii 2016-03-09 15:09 ` Phillip Lord 2016-03-10 10:16 ` Andreas Röhler 2016-03-08 15:54 ` Code reviews (was: Is it time to drop ChangeLogs?) Eli Zaretskii 2016-03-08 16:21 ` Code reviews Stefan Monnier 2016-03-08 16:51 ` Eli Zaretskii 2016-03-08 3:39 ` Is it time to drop ChangeLogs? Eli Zaretskii 2016-03-08 4:23 ` Óscar Fuentes 2016-03-08 15:57 ` Eli Zaretskii 2016-03-08 16:39 ` Nikolaus Rath 2016-03-08 19:57 ` Óscar Fuentes 2016-03-08 20:56 ` David Caldwell 2016-03-08 21:16 ` Dmitry Gutov 2016-03-08 21:23 ` John Wiegley 2016-03-08 21:26 ` Dmitry Gutov 2016-03-08 21:59 ` Giuseppe Scrivano 2016-03-08 21:27 ` David Caldwell 2016-03-08 21:37 ` Dmitry Gutov 2016-03-08 21:33 ` Óscar Fuentes 2016-03-07 20:58 ` Eli Zaretskii 2016-03-07 9:29 ` Alan Mackenzie 2016-03-08 3:01 ` Stefan Monnier 2016-03-07 16:24 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) Eli Zaretskii 2016-03-07 16:29 ` Is it time to drop ChangeLogs? John Wiegley 2016-03-07 16:53 ` Eli Zaretskii 2016-03-09 18:52 ` Is it time to drop ChangeLogs? (Was: bug#21998: Run 'make change-history' on release branch) Yuri Khan 2016-03-09 19:10 ` Eli Zaretskii 2016-03-09 19:18 ` Paul Eggert 2016-03-09 19:53 ` Eli Zaretskii 2016-03-09 23:22 ` Paul Eggert 2016-03-10 6:36 ` Eli Zaretskii 2016-03-10 9:14 ` Yuri Khan 2016-03-10 9:46 ` Eli Zaretskii 2016-03-13 20:06 ` Paul Eggert 2016-03-08 2:59 ` Is it time to drop ChangeLogs? Stefan Monnier 2016-03-08 3:41 ` Christopher Allan Webber 2016-03-08 3:48 ` Eli Zaretskii 2016-03-08 4:02 ` Stefan Monnier 2016-03-08 6:51 ` Paul Eggert 2016-07-06 14:20 ` Ted Zlatanov 2016-07-06 15:08 ` Robert Weiner 2016-07-06 15:17 ` Noam Postavsky 2016-07-07 21:56 ` Richard Stallman 2016-07-06 15:36 ` Eli Zaretskii 2016-07-06 16:06 ` Ted Zlatanov 2016-07-06 16:36 ` Eli Zaretskii 2016-07-06 17:03 ` Ted Zlatanov 2016-07-06 17:23 ` Eli Zaretskii 2016-07-06 17:44 ` Clément Pit--Claudel 2016-07-06 18:32 ` Eli Zaretskii 2016-07-06 19:16 ` Clément Pit--Claudel 2016-07-07 2:32 ` Eli Zaretskii 2016-07-06 17:39 ` John Wiegley 2016-07-07 1:18 ` Ted Zlatanov 2016-07-07 2:44 ` John Wiegley 2016-07-07 7:31 ` Paul Eggert 2016-07-07 13:18 ` Ted Zlatanov 2016-07-07 14:26 ` Paul Eggert 2016-07-07 14:49 ` Ted Zlatanov 2016-07-07 15:39 ` Óscar Fuentes 2016-07-08 13:38 ` Richard Stallman 2016-07-08 14:02 ` Óscar Fuentes 2016-07-08 14:15 ` Óscar Fuentes 2016-07-08 14:24 ` Eli Zaretskii 2016-07-08 15:07 ` Óscar Fuentes 2016-07-08 15:25 ` Eli Zaretskii 2016-07-08 22:58 ` Dmitry Gutov 2016-07-08 23:29 ` John Wiegley 2016-07-08 23:39 ` vc-region-history, was: " Dmitry Gutov 2016-07-09 7:03 ` Eli Zaretskii 2016-07-09 13:29 ` Kaushal Modi 2016-07-09 7:00 ` Eli Zaretskii 2016-07-09 23:04 ` Dmitry Gutov 2016-07-10 2:42 ` Eli Zaretskii 2016-07-09 15:19 ` Tino Calancha 2016-07-09 16:59 ` Richard Stallman 2016-07-10 14:21 ` Richard Stallman 2016-07-07 22:02 ` Richard Stallman 2016-07-07 21:57 ` Richard Stallman 2016-07-06 17:41 ` Paul Eggert 2016-07-07 11:29 ` Phillip Lord 2016-07-07 12:43 ` Noam Postavsky 2016-07-07 12:55 ` Phillip Lord 2016-07-07 13:04 ` Andreas Schwab 2016-07-07 16:24 ` Phillip Lord 2016-07-07 13:15 ` Noam Postavsky 2016-07-07 16:28 ` Phillip Lord 2016-07-07 15:25 ` Eli Zaretskii 2016-07-07 17:24 ` Phillip Lord 2016-07-07 19:57 ` Eli Zaretskii 2016-07-07 23:50 ` Dmitry Gutov 2016-07-08 11:28 ` Phillip Lord 2016-07-08 13:56 ` Eli Zaretskii 2016-07-08 13:27 ` Ted Zlatanov 2016-07-08 14:06 ` Eli Zaretskii 2016-07-08 14:22 ` Ted Zlatanov 2016-07-08 14:29 ` Eli Zaretskii 2016-07-08 14:49 ` Ted Zlatanov 2016-07-08 15:18 ` Eli Zaretskii 2016-07-08 16:04 ` Ted Zlatanov 2016-07-08 14:29 ` Óscar Fuentes 2016-07-08 14:13 ` Óscar Fuentes 2016-07-08 14:27 ` Eli Zaretskii 2016-07-09 16:54 ` Richard Stallman 2016-07-09 17:04 ` Eli Zaretskii 2016-07-09 22:55 ` Ted Zlatanov 2016-07-10 14:25 ` Richard Stallman 2016-07-11 13:28 ` auto-generating skeleton ChangeLogs (was: Is it time to drop ChangeLogs?) Ted Zlatanov 2016-07-12 13:49 ` auto-generating skeleton ChangeLogs Ted Zlatanov 2016-07-13 3:29 ` Stefan Monnier 2016-07-11 11:29 ` Is it time to drop ChangeLogs? Phillip Lord 2016-07-12 5:08 ` Richard Stallman 2016-07-20 13:28 ` debbugs tracker builds character (was: Is it time to drop ChangeLogs?) Ted Zlatanov 2016-07-20 13:44 ` debbugs tracker builds character Lars Ingebrigtsen 2016-07-20 13:52 ` Dmitry Gutov 2016-07-20 14:58 ` Michael Albinus 2016-07-20 19:05 ` Dmitry Gutov 2016-07-20 19:48 ` Michael Albinus 2016-07-20 20:06 ` Robert Weiner 2016-07-20 20:24 ` Michael Albinus 2016-07-21 10:54 ` Lars Ingebrigtsen 2016-07-22 10:50 ` Lars Ingebrigtsen 2016-07-20 20:38 ` Dmitry Gutov 2016-07-21 6:27 ` Michael Albinus 2016-07-21 11:03 ` Dmitry Gutov 2016-07-21 12:42 ` Michael Albinus 2016-07-21 12:46 ` Dmitry Gutov 2016-07-21 13:02 ` Michael Albinus 2016-07-20 14:53 ` Michael Albinus 2016-07-20 14:57 ` Robert Weiner 2016-07-20 18:48 ` Michael Albinus 2016-07-21 14:13 ` Ted Zlatanov 2016-07-21 14:50 ` Eli Zaretskii 2016-07-21 15:17 ` Ted Zlatanov 2016-07-21 15:41 ` David Engster 2016-07-21 15:58 ` Eli Zaretskii 2016-07-21 23:49 ` Richard Stallman 2016-07-21 23:54 ` Dmitry Gutov 2016-07-22 14:35 ` Ted Zlatanov 2016-07-23 19:54 ` Richard Stallman 2016-07-25 12:52 ` Ted Zlatanov 2016-07-25 16:51 ` Eli Zaretskii 2016-07-26 14:22 ` Ted Zlatanov 2016-07-21 15:38 ` Stefan Monnier 2016-07-21 16:42 ` Ted Zlatanov 2016-07-21 20:11 ` Eric Abrahamsen 2016-07-22 10:50 ` Eric Abrahamsen 2016-07-22 19:17 ` Stefan Monnier 2016-07-23 16:18 ` Eric Abrahamsen 2016-07-23 17:35 ` Stefan Monnier 2016-07-23 23:07 ` Eric Abrahamsen 2016-07-24 16:21 ` Stefan Monnier 2016-07-24 21:20 ` Eric Abrahamsen 2016-07-24 21:40 ` Stefan Monnier 2016-07-24 23:04 ` Eric Abrahamsen 2017-03-13 0:22 ` [ELPA] I regret using subtree (was: debbugs tracker builds character) Eric Abrahamsen 2017-03-13 0:53 ` [ELPA] I regret using subtree Stefan Monnier 2017-03-13 2:18 ` Eric Abrahamsen 2017-03-13 10:01 ` Tino Calancha 2017-03-13 13:46 ` Stefan Monnier 2017-03-13 14:30 ` Michael Albinus 2017-03-13 14:34 ` Tino Calancha 2017-03-13 7:06 ` Thien-Thi Nguyen 2017-03-13 7:49 ` Eric Abrahamsen 2016-07-20 15:31 ` debbugs tracker builds character Ted Zlatanov 2016-07-20 16:56 ` Stefan Monnier 2016-07-20 17:54 ` Ted Zlatanov 2016-07-20 19:03 ` Dmitry Gutov 2016-07-20 20:40 ` Stefan Monnier 2016-07-20 19:30 ` Dmitry Gutov 2016-07-20 20:43 ` Stefan Monnier 2016-07-21 10:37 ` Lars Ingebrigtsen 2016-07-21 12:23 ` Michael Albinus 2016-07-21 12:37 ` Lars Ingebrigtsen 2016-07-21 12:46 ` Michael Albinus 2016-07-22 10:18 ` Michael Albinus 2016-07-22 10:21 ` Lars Ingebrigtsen 2016-07-22 11:47 ` Michael Albinus 2016-07-31 9:42 ` Michael Albinus 2016-07-21 21:39 ` Dmitry Gutov 2016-07-21 21:51 ` Stefan Monnier 2016-07-21 5:50 ` Christian Kruse 2016-07-20 19:34 ` Michael Albinus 2016-07-20 21:25 ` Eric Abrahamsen 2016-07-21 10:41 ` Lars Ingebrigtsen 2016-07-21 12:33 ` Eric Abrahamsen 2016-07-21 12:34 ` Michael Albinus 2016-07-07 12:46 ` Is it time to drop ChangeLogs? Alan Mackenzie 2016-07-07 13:01 ` Phillip Lord 2016-07-07 13:57 ` Alan Mackenzie 2016-07-07 16:39 ` Phillip Lord 2016-07-07 21:56 ` Richard Stallman 2016-07-08 12:16 ` Phillip Lord 2016-07-09 16:55 ` Richard Stallman 2016-07-13 6:45 ` Andreas Röhler 2016-07-13 12:37 ` Stefan Monnier 2016-07-13 13:12 ` Robert Weiner 2016-07-13 13:43 ` Stefan Monnier 2016-07-13 14:17 ` Robert Weiner 2016-07-13 15:15 ` Stefan Monnier 2016-07-13 14:56 ` Eli Zaretskii 2016-07-13 15:33 ` Stefan Monnier 2016-07-13 15:36 ` Robert Weiner 2016-07-13 15:47 ` Stefan Monnier 2016-07-13 16:54 ` Robert Weiner 2016-07-13 16:59 ` Stefan Monnier 2016-07-13 17:47 ` Sven Axelsson 2016-07-14 11:56 ` Phillip Lord 2016-07-14 15:15 ` Eli Zaretskii 2016-07-15 15:09 ` Richard Stallman 2016-07-14 16:05 ` Richard Stallman
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).