unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#20717: attribution of gitmerge.el merged entries in generated ChangeLog
@ 2015-06-02  6:22 Glenn Morris
  2015-06-05 22:06 ` Glenn Morris
  0 siblings, 1 reply; 11+ messages in thread
From: Glenn Morris @ 2015-06-02  6:22 UTC (permalink / raw)
  To: 20717

Package: emacs
Version: 25.0.50

After using M-x gitmerge (which seems v nice, BTW), 'make ChangeLog'
creates a file with contents:

2015-06-01  Glenn Morris  <rgm@...>

   Merge from origin/emacs-24
   8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.

The merged entries should be listed under the name of the original
author(s), not the name of the person who did the merge.





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

* bug#20717: attribution of gitmerge.el merged entries in generated ChangeLog
  2015-06-02  6:22 bug#20717: attribution of gitmerge.el merged entries in generated ChangeLog Glenn Morris
@ 2015-06-05 22:06 ` Glenn Morris
  2015-06-06  6:55   ` Eli Zaretskii
  0 siblings, 1 reply; 11+ messages in thread
From: Glenn Morris @ 2015-06-05 22:06 UTC (permalink / raw)
  To: 20717

Glenn Morris wrote:

> After using M-x gitmerge (which seems v nice, BTW), 'make ChangeLog'
> creates a file with contents:
>
> 2015-06-01  Glenn Morris  <rgm@...>
>
>    Merge from origin/emacs-24
>    8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
>
> The merged entries should be listed under the name of the original
> author(s), not the name of the person who did the merge.

Oh, I see we actually get both. The above entry on the date of the
merge, and another entry (with the correct attribution) on the date the
change was originally made (which of course has zero relation to the
merge date) in the original branch. And changes that were skipped from
the merge are still included. What a confusing mess.





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

* bug#20717: attribution of gitmerge.el merged entries in generated ChangeLog
  2015-06-05 22:06 ` Glenn Morris
@ 2015-06-06  6:55   ` Eli Zaretskii
  2015-06-06 18:13     ` Glenn Morris
  2015-06-08 13:52     ` Stefan Monnier
  0 siblings, 2 replies; 11+ messages in thread
From: Eli Zaretskii @ 2015-06-06  6:55 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 20717

> From: Glenn Morris <rgm@gnu.org>
> Date: Fri, 05 Jun 2015 18:06:49 -0400
> 
> Glenn Morris wrote:
> 
> > After using M-x gitmerge (which seems v nice, BTW), 'make ChangeLog'
> > creates a file with contents:
> >
> > 2015-06-01  Glenn Morris  <rgm@...>
> >
> >    Merge from origin/emacs-24
> >    8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
> >
> > The merged entries should be listed under the name of the original
> > author(s), not the name of the person who did the merge.
> 
> Oh, I see we actually get both. The above entry on the date of the
> merge, and another entry (with the correct attribution) on the date the
> change was originally made (which of course has zero relation to the
> merge date) in the original branch. And changes that were skipped from
> the merge are still included. What a confusing mess.

I'm guessing that you are using "git log" to show this.  That command
could produce confusing results if you don't pay attention to branches
and ancestry of each commit, because it shows a non-linear history in
a linear fashion.  That's unlike what "bzr log" did, where it would
show only mainline commits by default, and if invoked with -n0, would
show the commits on branches indented.

I suggest to use "git log --graph" instead, where you should see that
one of these commits was on a branch, and the one that's attributed to
you is the merge-commit.

For commits on "mainline", you can use "git log --first-parent" to
show only mainline commits, but this will not help you in the case in
point.





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

* bug#20717: attribution of gitmerge.el merged entries in generated ChangeLog
  2015-06-06  6:55   ` Eli Zaretskii
@ 2015-06-06 18:13     ` Glenn Morris
  2015-06-06 18:48       ` Glenn Morris
  2015-06-08 13:52     ` Stefan Monnier
  1 sibling, 1 reply; 11+ messages in thread
From: Glenn Morris @ 2015-06-06 18:13 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 20717

Eli Zaretskii wrote:

> I'm guessing that you are using "git log" to show this. 

No, I'm using `make ChangeLog' like I said in the original message.
This produces a ChangeLog which is a confusing mess where merges are involved.





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

* bug#20717: attribution of gitmerge.el merged entries in generated ChangeLog
  2015-06-06 18:13     ` Glenn Morris
@ 2015-06-06 18:48       ` Glenn Morris
  2015-06-06 19:32         ` Eli Zaretskii
  0 siblings, 1 reply; 11+ messages in thread
From: Glenn Morris @ 2015-06-06 18:48 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 20717

Glenn Morris wrote:

> Eli Zaretskii wrote:
>
>> I'm guessing that you are using "git log" to show this. 
>
> No, I'm using `make ChangeLog' like I said in the original message.
> This produces a ChangeLog which is a confusing mess where merges are
> involved.

To expand:
1. The dates of merged entries are wrong by an arbitrary amount.
You can see the "cairo" entries in current ChangeLog.2 for an example of
this. IIUC, this isn't fixable without getting the reflog involved.
Ref: http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00102.html

2. Entries that were "skipped" when gitmerge.el'ing from emacs-24 to
master still appear in the generated ChangeLog. Check tomorrow's
automatically updated ChangeLog.2 for examples of that. Or type `make
ChangeLog' today. You'll see entries like

2015-04-11  Ulrich Mueller <ulm>

       Bump Emacs version to 24.5.50.

that were skipped when merging from emacs-24. It's especially confusing
because if merging isn't done very often (and recent history suggests it
won't be), these entries will be offset from the relevant "Merge from
origin/emacs-24" entry by a large distance. This isn't an issue now
because the emacs-24 branch is basically dead, but it will be for the
next release.

I would hope that this one is fixable, with some work on admin/gitmerge.el
and/or build-aux/gitlog-to-changelog.

But I get the impression that a readable ChangeLog isn't much of a
priority for Emacs anymore. Maybe no-one will miss it.





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

* bug#20717: attribution of gitmerge.el merged entries in generated ChangeLog
  2015-06-06 18:48       ` Glenn Morris
@ 2015-06-06 19:32         ` Eli Zaretskii
  2015-06-11  1:28           ` Glenn Morris
  0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2015-06-06 19:32 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 20717

> From: Glenn Morris <rgm@gnu.org>
> Cc: 20717@debbugs.gnu.org
> Date: Sat, 06 Jun 2015 14:48:55 -0400
> 
> 1. The dates of merged entries are wrong by an arbitrary amount.
> You can see the "cairo" entries in current ChangeLog.2 for an example of
> this. IIUC, this isn't fixable without getting the reflog involved.
> Ref: http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00102.html
> 
> 2. Entries that were "skipped" when gitmerge.el'ing from emacs-24 to
> master still appear in the generated ChangeLog. Check tomorrow's
> automatically updated ChangeLog.2 for examples of that. Or type `make
> ChangeLog' today. You'll see entries like
> 
> 2015-04-11  Ulrich Mueller <ulm>
> 
>        Bump Emacs version to 24.5.50.
> 
> that were skipped when merging from emacs-24. It's especially confusing
> because if merging isn't done very often (and recent history suggests it
> won't be), these entries will be offset from the relevant "Merge from
> origin/emacs-24" entry by a large distance. This isn't an issue now
> because the emacs-24 branch is basically dead, but it will be for the
> next release.

Do logs of changes made on feature branches also appear like that, and
are also misplaced?  E.g., what do you get there of the commits on the
large-fonts branch I merged today?  They shouldn't appear at all, I
think.

> I would hope that this one is fixable, with some work on admin/gitmerge.el
> and/or build-aux/gitlog-to-changelog.

I hope so too.

> But I get the impression that a readable ChangeLog isn't much of a
> priority for Emacs anymore. Maybe no-one will miss it.

I will.





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

* bug#20717: attribution of gitmerge.el merged entries in generated ChangeLog
  2015-06-06  6:55   ` Eli Zaretskii
  2015-06-06 18:13     ` Glenn Morris
@ 2015-06-08 13:52     ` Stefan Monnier
  1 sibling, 0 replies; 11+ messages in thread
From: Stefan Monnier @ 2015-06-08 13:52 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 20717

> For commits on "mainline", you can use "git log --first-parent" to
> show only mainline commits, but this will not help you in the case in
> point.

Not only that: it will not always show you what you wanted to see, since
it's much too easy to make a commit where the first parent is not the
previous revision on the trunk but the previous revision in your own
local branch instead (and much too hard to avoid this situation).


        Stefan





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

* bug#20717: attribution of gitmerge.el merged entries in generated ChangeLog
  2015-06-06 19:32         ` Eli Zaretskii
@ 2015-06-11  1:28           ` Glenn Morris
  2015-06-11  1:41             ` Glenn Morris
  2015-06-11  2:46             ` Eli Zaretskii
  0 siblings, 2 replies; 11+ messages in thread
From: Glenn Morris @ 2015-06-11  1:28 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 20717

Eli Zaretskii wrote:

> Do logs of changes made on feature branches also appear like that, and
> are also misplaced?  E.g., what do you get there of the commits on the
> large-fonts branch I merged today?

See
http://lists.gnu.org/archive/html/emacs-diffs/2015-06/msg00090.html

The word "merge" isn't even mentioned in gitlog-to-changelog, and it's 7
years old, so I assume no-one cares about such things. Frankly, it's not
much more than a dump of "git log" with some formatting tweaks to make
it look more like a ChangeLog.





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

* bug#20717: attribution of gitmerge.el merged entries in generated ChangeLog
  2015-06-11  1:28           ` Glenn Morris
@ 2015-06-11  1:41             ` Glenn Morris
  2017-12-23  2:57               ` Glenn Morris
  2015-06-11  2:46             ` Eli Zaretskii
  1 sibling, 1 reply; 11+ messages in thread
From: Glenn Morris @ 2015-06-11  1:41 UTC (permalink / raw)
  To: 20717


I've hopefully fixed the main issue, which is keeping gitmerge.el
"skipped" entries out of the ChangeLog. It might be possible to correct
the date of gitmerge'd entries, by tracking the date of the merge commit
and the hashes it mentions, and using that date for all those hashes
when they are found. By this won't work for normal merges, so it doesn't
really seem worth bothering with.





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

* bug#20717: attribution of gitmerge.el merged entries in generated ChangeLog
  2015-06-11  1:28           ` Glenn Morris
  2015-06-11  1:41             ` Glenn Morris
@ 2015-06-11  2:46             ` Eli Zaretskii
  1 sibling, 0 replies; 11+ messages in thread
From: Eli Zaretskii @ 2015-06-11  2:46 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 20717

> From: Glenn Morris <rgm@gnu.org>
> Cc: 20717@debbugs.gnu.org
> Date: Wed, 10 Jun 2015 21:28:08 -0400
> 
> Eli Zaretskii wrote:
> 
> > Do logs of changes made on feature branches also appear like that, and
> > are also misplaced?  E.g., what do you get there of the commits on the
> > large-fonts branch I merged today?
> 
> See
> http://lists.gnu.org/archive/html/emacs-diffs/2015-06/msg00090.html
> 
> The word "merge" isn't even mentioned in gitlog-to-changelog, and it's 7
> years old, so I assume no-one cares about such things. Frankly, it's not
> much more than a dump of "git log" with some formatting tweaks to make
> it look more like a ChangeLog.

So should we manually correct the most glaring problems of the result
of this?  For example, the logs for commits I made on that branch
should be deleted, as there's a summary log for the merge-commit later
on that covers them all.

Perhaps we should recommend that people use the ";" trick in the log
messages they make on branches they intend to merge onto master later?





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

* bug#20717: attribution of gitmerge.el merged entries in generated ChangeLog
  2015-06-11  1:41             ` Glenn Morris
@ 2017-12-23  2:57               ` Glenn Morris
  0 siblings, 0 replies; 11+ messages in thread
From: Glenn Morris @ 2017-12-23  2:57 UTC (permalink / raw)
  To: 20717


There's obviously no interest in improving this, closing as wontfix.





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

end of thread, other threads:[~2017-12-23  2:57 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-02  6:22 bug#20717: attribution of gitmerge.el merged entries in generated ChangeLog Glenn Morris
2015-06-05 22:06 ` Glenn Morris
2015-06-06  6:55   ` Eli Zaretskii
2015-06-06 18:13     ` Glenn Morris
2015-06-06 18:48       ` Glenn Morris
2015-06-06 19:32         ` Eli Zaretskii
2015-06-11  1:28           ` Glenn Morris
2015-06-11  1:41             ` Glenn Morris
2017-12-23  2:57               ` Glenn Morris
2015-06-11  2:46             ` Eli Zaretskii
2015-06-08 13:52     ` Stefan Monnier

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