darcs

Issue 926 wish for more standard gnu changelog style

Title wish for more standard gnu changelog style
Priority wishlist Status given-up
Milestone Resolved in
Superseder Nosy List darcs-devel, dmitry.kurochkin, jaredj, kowey, thorkilnaur, tommy, twb
Assigned To
Topics ProbablyEasy, UI

Created on 2008-06-16.11:50:40 by twb, last changed 2023-03-29.08:44:38 by bfrk.

Messages
msg5053 (view) Author: twb Date: 2008-06-16.11:50:37
"hg log --style=changelog" has a couple of features I miss in "darcs
changes", listed below.  The first I care about, the other is listed
more incidentally.

If a sequence of patches have the same author and day (date), they are
listed under a single author/date timestamp.  For example,

  Mon Jun 16 14:11:21 EST 2008  Trent W. Buck <trentbuck@gmail.com>
    * Add clarifications from meeting.

  Mon Jun 16 12:28:09 EST 2008  Trent W. Buck <trentbuck@gmail.com>
    * Generate ODF; use more quotes.

  Mon Jun 16 12:27:51 EST 2008  Trent W. Buck <trentbuck@gmail.com>
    * Simple gmake interface to Build.sh and Clean.sh.

simplifies to

  2008-06-16  Trent W. Buck  <trentbuck@gmail.com>

    * Add clarifications from meeting.

    * Generate ODF; use more quotes.

    * Simple gmake interface to Build.sh and Clean.sh.

Emacs' change-log-mode marks up this date/user header correctly,
unlike the current darcs changes output.

Secondly, it automatically adds "changed file" leaders.  For example,
instead of

  * Generate ODF; use more quotes.

it prints (approximately)

  * Build.sh, Clean.sh: Generate ODF; use more quotes.

This latter feature is FAR LESS important to me than the former,
because "darcs changes --summary" is more informative and more
readable in a generic pager.  However, Emacs' change-log-mode
understands the file links in the "hg log --style=changelog", but not
in "darcs changes --summary".

Another feature that might be nice is to automatically list, in
standard notation, the changed procedures / sections (detected by a
heuristic similar to GNU diff -p).  That is, instead of

  * Simple gmake interface to Build.sh and Clean.sh.

it might print

  * GNUmakefile (all, clean, distclean): Simple gmake interface to
    Build.sh and Clean.sh.

this might be a bad idea, because the heuristic is bound to get things
wrong.  In any case AFAIK the point is moot with the current patch
format, since it doesn't contain the right information.

Finally, I anticipate that people will complain their scripts parse
the output of "darcs changes" and they don't want to update them to
accommodate "gratuitous" changes.  My response is the hard line that
those scripts should probably be parsing the output of --xml, since
the default format is for *humans*.
msg5055 (view) Author: kowey Date: 2008-06-16.11:55:24
2008-06-16  Trent W. Buck  <trentbuck@gmail.com>

    * Add clarifications from meeting.

    * Generate ODF; use more quotes.

    * Simple gmake interface to Build.sh and Clean.sh.

Hmm... and what should we do about long comments?
msg5058 (view) Author: twb Date: 2008-06-16.12:14:02
On Mon, Jun 16, 2008 at 11:55:25AM -0000, Eric Kow wrote:
> Hmm... and what should we do about long comments?

I haven't really thought about it, but I imagined they'd just be
printed beneath the patch name, basically as they are now.  E.g.

2008-06-16  Trent W. Buck  <trentbuck@gmail.com>

	* bookmark.el: Give a better name to part of the bookmark interface.

	This was originally a much larger change, but halfway through I
	updated and discovered that Stefan Monnier had done the rest.
	It looks like he anticipated the new name too, because he used
	`the-record' instead of `the-cell' for some internal variable names.

This will obviously screw up people who use asterisks in the long
description, so perhaps they should be further indented by about two
spaces.

	* bookmark.el: Give a better name to part of the bookmark interface.

	  This was originally a much larger change, but halfway through I
	  updated and discovered that Stefan Monnier had done the rest.
	  It looks like he anticipated the new name too, because he used
	  `the-record' instead of `the-cell' for some internal variable names.

Oops, I forgot to include a URL to the GNU coding standards.

  http://www.gnu.org/prep/standards/standards.html.gz#Change-Logs

I also notice, from looking at GNU Emacs changelogs, that the
changelog comments are indented with a single literal tab, rather than
some spaces.
msg5059 (view) Author: kowey Date: 2008-06-16.12:20:42
Also, is this request primarily motivated by compatibility with Emacs
change-log-mode (as opposed to more general UI issues)?  

If so, would it be reasonable to suggest instead that a clever piece of Elisp be
written to parse the darcs changes --xml output and make it emacs-friendlier?

With a bit of googling, I notice that there is this thing called darcsum, though
I'm not sure what it does: http://chneukirchen.org/repos/darcsum/darcsum.el
msg5060 (view) Author: twb Date: 2008-06-16.14:18:06
On Mon, Jun 16, 2008 at 12:20:44PM -0000, Eric Kow wrote:
> Eric Kow <eric.kow@gmail.com> added the comment:
> 
> Also, is this request primarily motivated by compatibility with Emacs
> change-log-mode (as opposed to more general UI issues)?  

Not for the first point; I think it makes the output more readable,
and its more in line with GNU standards (which are popular outside of
GNU, too).

> With a bit of googling, I notice that there is this thing called darcsum, though
> I'm not sure what it does: http://chneukirchen.org/repos/darcsum/darcsum.el

It is an interface for darcs record, and it's broken for darcs-2.
msg8402 (view) Author: kowey Date: 2009-08-23.13:16:29
I was resisting triaging this bug out of my usual conservatism and fear of
increasing feature set.

I think the best is just to submit a patch for changes (no new flag) to
implement the behaviour where "[i]f a sequence of patches have the same author
and day (date), they are listed under a single author/date timestamp."

I wouldn't worry about the date format; that's issue140.
I also would just make this *the* behaviour rather than trying to make it
parameterisable.

Darcs-users can argue about this once the patch is available.
msg8445 (view) Author: twb Date: 2009-08-24.01:56:06
On Sun, Aug 23, 2009 at 01:16:35PM +0000, Eric Kow wrote:
> I think the best is just to submit a patch for changes (no new flag)
> to implement the behaviour where "[i]f a sequence of patches have
> the same author and day (date), they are listed under a single
> author/date timestamp."

We already have TWO flags for to control style: --xml-output and
--human-readable.

> I also would just make this *the* behaviour rather than trying to
> make it parameterisable.

I have no problem with that.  I didn't propose it because I expected
resistance.
msg23224 (view) Author: bfrk Date: 2023-03-29.08:44:38
Maintaining the changelog is miserable manual work and we simply don't 
have the man power to conform to any de-facto standards here.
History
Date User Action Args
2008-06-16 11:50:40twbcreate
2008-06-16 11:54:01koweylinkissue925 superseder
2008-06-16 11:55:25koweysetpriority: wishlist
nosy: + kowey
status: unread -> unknown
messages: + msg5055
2008-06-16 12:14:04twbsetnosy: tommy, beschmi, kowey, dagit, twb
messages: + msg5058
2008-06-16 12:20:44koweysetnosy: tommy, beschmi, kowey, dagit, twb
messages: + msg5059
2008-06-16 14:18:08twbsetnosy: tommy, beschmi, kowey, dagit, twb
messages: + msg5060
2008-06-16 14:34:48koweysettopic: + ProbablyEasy, UI
nosy: + jaredj
2009-08-06 21:08:13adminsetnosy: + dmitry.kurochkin, simon, thorkilnaur, - beschmi
2009-08-11 00:17:21adminsetnosy: - dagit
2009-08-23 13:16:35koweysetstatus: unknown -> needs-implementation
nosy: tommy, kowey, simon, twb, thorkilnaur, jaredj, dmitry.kurochkin
messages: + msg8402
2009-08-24 01:56:08twbsetnosy: tommy, kowey, simon, twb, thorkilnaur, jaredj, dmitry.kurochkin
messages: + msg8445
2009-08-25 18:12:37adminsetnosy: + darcs-devel, - simon
2009-08-27 14:31:32adminsetnosy: tommy, kowey, darcs-devel, twb, thorkilnaur, jaredj, dmitry.kurochkin
2023-03-29 08:44:38bfrksetstatus: needs-implementation -> given-up
messages: + msg23224