unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* lib/ should have its own ChangeLog
@ 2011-02-09 22:39 Glenn Morris
  2011-02-09 23:55 ` Paul Eggert
  2011-02-10  2:43 ` Stefan Monnier
  0 siblings, 2 replies; 16+ messages in thread
From: Glenn Morris @ 2011-02-09 22:39 UTC (permalink / raw)
  To: emacs-devel


I suggest the lib/ (and m4?) directory should have a separate ChangeLog,
unless that makes syncing difficult for some reason.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: lib/ should have its own ChangeLog
  2011-02-09 22:39 lib/ should have its own ChangeLog Glenn Morris
@ 2011-02-09 23:55 ` Paul Eggert
  2011-02-10  6:36   ` [Bug-vc-dwim] " Ralf Wildenhues
  2011-02-10  2:43 ` Stefan Monnier
  1 sibling, 1 reply; 16+ messages in thread
From: Paul Eggert @ 2011-02-09 23:55 UTC (permalink / raw)
  To: Glenn Morris; +Cc: bug-vc-dwim, emacs-devel

On 02/09/11 14:39, Glenn Morris wrote:
> I suggest the lib/ (and m4?) directory should have a separate ChangeLog,
> unless that makes syncing difficult for some reason.

I don't think it makes syncing hard, from gnulib to
Emacs.  I can do that.

However, it will make writing ChangeLog entries a bit harder,
since I use vc-dwim
<http://www.gnu.org/software/vc-dwim/> and it doesn't
support checking in a single change with entries in
multiple ChangeLogs.  I can simply not use vc-dwim for
such changes, I suppose.  (Or modify vc-dwim to support
that as a new feature. :-)

I'll CC: this to bug-vc-dwim to give them a heads-up.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: lib/ should have its own ChangeLog
  2011-02-09 22:39 lib/ should have its own ChangeLog Glenn Morris
  2011-02-09 23:55 ` Paul Eggert
@ 2011-02-10  2:43 ` Stefan Monnier
  2011-02-10  4:00   ` Paul Eggert
  2011-02-10  4:52   ` Glenn Morris
  1 sibling, 2 replies; 16+ messages in thread
From: Stefan Monnier @ 2011-02-10  2:43 UTC (permalink / raw)
  To: Glenn Morris; +Cc: emacs-devel

> I suggest the lib/ (and m4?) directory should have a separate ChangeLog,
> unless that makes syncing difficult for some reason.

I don't think that's needed.  It can use the top-level ChangeLog (or
even the src/ChangeLog).


        Stefan



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: lib/ should have its own ChangeLog
  2011-02-10  2:43 ` Stefan Monnier
@ 2011-02-10  4:00   ` Paul Eggert
  2011-02-10  5:41     ` Eli Zaretskii
  2011-02-10  4:52   ` Glenn Morris
  1 sibling, 1 reply; 16+ messages in thread
From: Paul Eggert @ 2011-02-10  4:00 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

On 02/09/2011 06:43 PM, Stefan Monnier wrote:
> I don't think that's needed.  It can use the top-level ChangeLog (or
> even the src/ChangeLog).

Hah!  I read that about 30 seconds after creating lib/ChangeLog
as revision 103207.  I reverted that, as revision 103208.

I prefer projects that use a single ChangeLog, as it's easier to
grok changes that affect multiple directories.  Would it be too
radical to propose a single ChangeLog for Emacs?



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: lib/ should have its own ChangeLog
  2011-02-10  2:43 ` Stefan Monnier
  2011-02-10  4:00   ` Paul Eggert
@ 2011-02-10  4:52   ` Glenn Morris
  2011-02-10  6:24     ` Paul Eggert
  1 sibling, 1 reply; 16+ messages in thread
From: Glenn Morris @ 2011-02-10  4:52 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier wrote:

>> I suggest the lib/ (and m4?) directory should have a separate ChangeLog,
>> unless that makes syncing difficult for some reason.
>
> I don't think that's needed.  It can use the top-level ChangeLog (or
> even the src/ChangeLog).

Every other top-level subdir with > 1 file has its own ChangeLog.

The other part of my motivation was, I'm not sure the very detailed
ChangeLog entries imported from gnulib (eg 2011-01-30, which is 50% of
the length of the whole nextstep/ChangeLog) are of much relevance to
Emacs; so I think it would be better to keep them more separate, if they
are needed at all (as opposed to just, eg, "update from master").



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: lib/ should have its own ChangeLog
  2011-02-10  4:00   ` Paul Eggert
@ 2011-02-10  5:41     ` Eli Zaretskii
  0 siblings, 0 replies; 16+ messages in thread
From: Eli Zaretskii @ 2011-02-10  5:41 UTC (permalink / raw)
  To: Paul Eggert; +Cc: monnier, emacs-devel

> Date: Wed, 09 Feb 2011 20:00:03 -0800
> From: Paul Eggert <eggert@cs.ucla.edu>
> Cc: emacs-devel@gnu.org
> 
> On 02/09/2011 06:43 PM, Stefan Monnier wrote:
> > I don't think that's needed.  It can use the top-level ChangeLog (or
> > even the src/ChangeLog).
> 
> Hah!  I read that about 30 seconds after creating lib/ChangeLog
> as revision 103207.  I reverted that, as revision 103208.

May I suggest a slower reaction times?  (To changes in gnulib as
well.)  I think it will improve our life qualities.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: lib/ should have its own ChangeLog
  2011-02-10  4:52   ` Glenn Morris
@ 2011-02-10  6:24     ` Paul Eggert
  2011-02-10  7:04       ` Eli Zaretskii
  0 siblings, 1 reply; 16+ messages in thread
From: Paul Eggert @ 2011-02-10  6:24 UTC (permalink / raw)
  To: Glenn Morris; +Cc: Stefan Monnier, emacs-devel

On 02/09/2011 08:52 PM, Glenn Morris wrote:
> I'm not sure the very detailed
> ChangeLog entries imported from gnulib (eg 2011-01-30, which is 50% of
> the length of the whole nextstep/ChangeLog) are of much relevance to
> Emacs

It would save me time to use shorter ChangeLog entries, and I could
easily be persuaded to replace long entries like that with "update
from master", regardless of which directory we decide to put the
ChangeLogs in.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Bug-vc-dwim] Re: lib/ should have its own ChangeLog
  2011-02-09 23:55 ` Paul Eggert
@ 2011-02-10  6:36   ` Ralf Wildenhues
  2011-02-10  7:50     ` Paul Eggert
  0 siblings, 1 reply; 16+ messages in thread
From: Ralf Wildenhues @ 2011-02-10  6:36 UTC (permalink / raw)
  To: Paul Eggert; +Cc: emacs-devel, bug-vc-dwim

Hi Paul,

* Paul Eggert wrote on Thu, Feb 10, 2011 at 12:55:41AM CET:
> However, it will make writing ChangeLog entries a bit harder,
> since I use vc-dwim
> <http://www.gnu.org/software/vc-dwim/> and it doesn't
> support checking in a single change with entries in
> multiple ChangeLogs.

I'm not quite sure which part is lacking for you.
You can use
  vc-dwim ChangeLog lib/ChangeLog

or
  vc-dwim --commit ChangeLog lib/ChangeLog

after you've edited both of these files.

And you can use vc-chlog to generate stub ChangeLog entries for both of
the log files after you put this in your .vc-chlogrc file:

--changelog ChangeLog
--changelog lib/ChangeLog

Cheers,
Ralf



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: lib/ should have its own ChangeLog
  2011-02-10  6:24     ` Paul Eggert
@ 2011-02-10  7:04       ` Eli Zaretskii
  2011-02-10  7:36         ` Paul Eggert
  0 siblings, 1 reply; 16+ messages in thread
From: Eli Zaretskii @ 2011-02-10  7:04 UTC (permalink / raw)
  To: Paul Eggert; +Cc: monnier, emacs-devel

> Date: Wed, 09 Feb 2011 22:24:17 -0800
> From: Paul Eggert <eggert@cs.ucla.edu>
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
> 
> On 02/09/2011 08:52 PM, Glenn Morris wrote:
> > I'm not sure the very detailed
> > ChangeLog entries imported from gnulib (eg 2011-01-30, which is 50% of
> > the length of the whole nextstep/ChangeLog) are of much relevance to
> > Emacs
> 
> It would save me time to use shorter ChangeLog entries, and I could
> easily be persuaded to replace long entries like that with "update
> from master", regardless of which directory we decide to put the
> ChangeLogs in.

In general, since we are using a changeset-oriented VCS, the detailed
descriptions of the changeset are supposed to be part of the commit
log messages.  ChangeLog entries can just state what was changed;
there should be no need to repeat in the ChangeLog what is described
in the commit log message.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: lib/ should have its own ChangeLog
  2011-02-10  7:04       ` Eli Zaretskii
@ 2011-02-10  7:36         ` Paul Eggert
  2011-02-10 10:30           ` Eli Zaretskii
  2011-02-10 18:09           ` Stefan Monnier
  0 siblings, 2 replies; 16+ messages in thread
From: Paul Eggert @ 2011-02-10  7:36 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: monnier, emacs-devel

On 02/09/2011 11:04 PM, Eli Zaretskii wrote:
> detailed
> descriptions of the changeset are supposed to be part of the commit
> log messages.  ChangeLog entries can just state what was changed;

This seems to imply that ChangeLog entries are short and commit
logs are long.  But in practice the reverse is common, with the detailed
description is in the ChangeLog, and the commit log being a brief
summary.  I'm used to this tradition and don't see why it should
(ahem) change.

For example, for the most recent entry in lisp/ChangeLog the
commit record is short:

 * allout.el: Synopsis: Change allout user configuration so auto-activation
  is controlled solely by customization `allout-auto-activation'.

whereas the ChangeLog entry is long:

2011-02-10  Ken Manheimer  <ken.manheimer@gmail.com>

        * allout.el: Synopsis: Change allout user configuration so
	auto-activation is controlled solely by customization
        `allout-auto-activation'.

        (allout-auto-activation-helper) (allout-setup): New autoloads
        implement new custom set procedure for allout-auto-activation.
        Also, explicitly invoke
	(allout-setup) after allout-auto-activation is custom-defined, to
        effect the settings in emacs sessions besides the few where
	allout-auto-activation customization is donea.
        (allout-auto-activation): Use allout-auto-activation-helper to
        :set.  Revise the docstring.
        (allout-init): Reduce functionality to just customizing
	allout-auto-activation, and mark obsolete.
        (allout-mode): Respect string values for allout-auto-activation.
	Run allout-after-copy-or-kill-hook without any args.
        (allout-mode) (allout-layout) (allout-default-layout)
	(outlineify-sticky): Adjust docstring for new scheme.
        (allout-after-copy-or-kill-hook): No arguments - hook implementers
        should concentrate on the kill ring.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Bug-vc-dwim] Re: lib/ should have its own ChangeLog
  2011-02-10  6:36   ` [Bug-vc-dwim] " Ralf Wildenhues
@ 2011-02-10  7:50     ` Paul Eggert
  0 siblings, 0 replies; 16+ messages in thread
From: Paul Eggert @ 2011-02-10  7:50 UTC (permalink / raw)
  To: Ralf Wildenhues, Glenn Morris, bug-vc-dwim, emacs-devel

On 02/09/2011 10:36 PM, Ralf Wildenhues wrote:
>   vc-dwim ChangeLog lib/ChangeLog

Thanks.  I could have sworn that I tried that and it failed,
but it just now worked for me.  Sorry about the noise.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: lib/ should have its own ChangeLog
  2011-02-10  7:36         ` Paul Eggert
@ 2011-02-10 10:30           ` Eli Zaretskii
  2011-02-10 18:09           ` Stefan Monnier
  1 sibling, 0 replies; 16+ messages in thread
From: Eli Zaretskii @ 2011-02-10 10:30 UTC (permalink / raw)
  To: Paul Eggert; +Cc: monnier, emacs-devel

> Date: Wed, 09 Feb 2011 23:36:53 -0800
> From: Paul Eggert <eggert@cs.ucla.edu>
> CC: rgm@gnu.org, monnier@iro.umontreal.ca, emacs-devel@gnu.org
> 
> On 02/09/2011 11:04 PM, Eli Zaretskii wrote:
> > detailed
> > descriptions of the changeset are supposed to be part of the commit
> > log messages.  ChangeLog entries can just state what was changed;
> 
> This seems to imply that ChangeLog entries are short and commit
> logs are long.  But in practice the reverse is common, with the detailed
> description is in the ChangeLog, and the commit log being a brief
> summary.  I'm used to this tradition and don't see why it should
> (ahem) change.
> 
> For example, for the most recent entry in lisp/ChangeLog the
> commit record is short:
> 
>  * allout.el: Synopsis: Change allout user configuration so auto-activation
>   is controlled solely by customization `allout-auto-activation'.
> 
> whereas the ChangeLog entry is long:

I didn't mean "short" vs "long", I meant "explanations of the
rationale" vs "just the log of changes".  Sorry for being unclear.

> 2011-02-10  Ken Manheimer  <ken.manheimer@gmail.com>

This is not a good example of what I meant, because it mixes the
change logs and explanations in both the ChangeLog file and the commit
message.  What I meant is this:

  2011-02-04  Eli Zaretskii  <eliz@gnu.org>

	  * makefile.w32-in (LISP_H, PROCESS_H): New variables.
	  Replace all uses of lisp.h with $(LISP_H), and all uses of
	  process.h with $(PROCESS_H).
	  ($(BLD)/editfns.$(O)): Depend on ../lib/strftime.h.
	  ($(BLD)/print.$(O)): Depend on ../lib/ftoastr.h and ../lib/intprops.h.

This describes specifically what was changed and how, but not why.

    revno: 103116
    committer: Eli Zaretskii <eliz@gnu.org>
    branch nick: trunk
    timestamp: Fri 2011-02-04 17:32:34 +0200
    message:
      Update dependencies in src/makefile.w32-in.

The "message" part says what was the rationale for the changes.

2011-02-07  Paul Eggert  <eggert@cs.ucla.edu>

  conform to C89 pointer rules

  * dired.c (scmp, file_name_completion):
  Change types between char * and unsigned char *, to satisfy C89
  rules about pointer type compatibility.

This does both.  I would have only this in the ChangeLog:

  * dired.c (scmp, file_name_completion):
  Change types between char * and unsigned char *.

And in the commit log message say this:

  Change types between char * and unsigned char *, to satisfy C89
  rules about pointer type compatibility.

Anyway, this is a question of style, and I'm not sure others will
agree.  But this is my opinion, FWIW.  My rationale for doing this is
that the commit logs are the main instrument of forensics, so keeping
the "why's" there gives onbe less place to look into.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: lib/ should have its own ChangeLog
  2011-02-10  7:36         ` Paul Eggert
  2011-02-10 10:30           ` Eli Zaretskii
@ 2011-02-10 18:09           ` Stefan Monnier
  2011-02-10 18:43             ` Paul Eggert
  1 sibling, 1 reply; 16+ messages in thread
From: Stefan Monnier @ 2011-02-10 18:09 UTC (permalink / raw)
  To: Paul Eggert; +Cc: Eli Zaretskii, emacs-devel

>> detailed descriptions of the changeset are supposed to be part of the
>> commit log messages.  ChangeLog entries can just state what was
>> changed;

> This seems to imply that ChangeLog entries are short and commit
> logs are long.  But in practice the reverse is common, with the detailed
> description is in the ChangeLog, and the commit log being a brief
> summary.  I'm used to this tradition and don't see why it should
> (ahem) change.

Actually, the ChangeLog should contain the exact same text as the commit
message, so we can eventually auto-generate the ChangeLog(s).


        Stefan



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: lib/ should have its own ChangeLog
  2011-02-10 18:09           ` Stefan Monnier
@ 2011-02-10 18:43             ` Paul Eggert
  2011-02-10 19:58               ` Stefan Monnier
  0 siblings, 1 reply; 16+ messages in thread
From: Paul Eggert @ 2011-02-10 18:43 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, emacs-devel

On 02/10/2011 10:09 AM, Stefan Monnier wrote:
> Actually, the ChangeLog should contain the exact same text as the commit
> message, so we can eventually auto-generate the ChangeLog(s).

That sounds like a good idea, and I'm used to it in
other projects, such as coreutils.  How about if
we do that with Emacs too?  It is confusing and
wastes our time to keep two sets of logs when
one would do.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: lib/ should have its own ChangeLog
  2011-02-10 18:43             ` Paul Eggert
@ 2011-02-10 19:58               ` Stefan Monnier
  2011-02-12 23:44                 ` Glenn Morris
  0 siblings, 1 reply; 16+ messages in thread
From: Stefan Monnier @ 2011-02-10 19:58 UTC (permalink / raw)
  To: Paul Eggert; +Cc: Eli Zaretskii, emacs-devel

> That sounds like a good idea, and I'm used to it in
> other projects, such as coreutils.  How about if
> we do that with Emacs too?

I'd love to.  There are some obstacles, tho:
- make "C-x 4 a" work for such uses.
- figure out how to generate good quality ChangeLog files (we should
  probably keep the current ChangeLogs and only auto-generate entries
  for the new commits, since some of the past commit messages aren't as
  good as the ChangeLog).
- figure out how to handle errors in commit messages: apparently Bzr is
  unlikely to support editing its commit logs much before hell freezes
  over, so we'll have to hack something on top of Bzr on our side.

> It is confusing and wastes our time to keep two sets of logs when one
> would do.

log-edit lets you drag the ChangeLog entry into the *VC-Log* buffer, so
it's usually not too painful, but yes, it's inconvenient, especially
when merging branches.


        Stefan



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: lib/ should have its own ChangeLog
  2011-02-10 19:58               ` Stefan Monnier
@ 2011-02-12 23:44                 ` Glenn Morris
  0 siblings, 0 replies; 16+ messages in thread
From: Glenn Morris @ 2011-02-12 23:44 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, Paul Eggert, emacs-devel

Stefan Monnier wrote:

> log-edit lets you drag the ChangeLog entry into the *VC-Log* buffer, so
> it's usually not too painful, but yes, it's inconvenient, especially
> when merging branches.

Try Bzr's changelog_merge plugin, now documented in admin/notes/bzr.



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2011-02-12 23:44 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-09 22:39 lib/ should have its own ChangeLog Glenn Morris
2011-02-09 23:55 ` Paul Eggert
2011-02-10  6:36   ` [Bug-vc-dwim] " Ralf Wildenhues
2011-02-10  7:50     ` Paul Eggert
2011-02-10  2:43 ` Stefan Monnier
2011-02-10  4:00   ` Paul Eggert
2011-02-10  5:41     ` Eli Zaretskii
2011-02-10  4:52   ` Glenn Morris
2011-02-10  6:24     ` Paul Eggert
2011-02-10  7:04       ` Eli Zaretskii
2011-02-10  7:36         ` Paul Eggert
2011-02-10 10:30           ` Eli Zaretskii
2011-02-10 18:09           ` Stefan Monnier
2011-02-10 18:43             ` Paul Eggert
2011-02-10 19:58               ` Stefan Monnier
2011-02-12 23:44                 ` Glenn Morris

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).