This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Test GCC conversion with reposurgeon available
On Tue, 24 Dec 2019, Segher Boessenkool wrote:
> > That's because that commit also edits ChangeLog entries from other
> > authors. When a commit adds / edits ChangeLog entries for more than one
> > author (the difference between purely editing an existing entry and adding
> > a new one, possibly under an existing date/author header, for a
> > multi-author commit, is not something that can reliably be determined
> > automatically), the conversion falls back to using the committer identity
> > instead of picking one of the multiple relevant authors from the ChangeLog
> > files.
>
> There is only one relevant author in r270511. It edits a few wrong path
> names in the previous changelog entries. People often do similar things
> (like fixing the commit date :-) )
Distinguishing "edits a previous ChangeLog entry" from "adds a new entry
under a previous ChangeLog header for a change included in the commit" is
a human judgement. (It's necessary to consider the case of a ChangeLog
header not included in the new lines added by the commit when looking for
an attribution in a ChangeLog file because multiple ChangeLog stanzas,
separated by blank lines, under a single date/author header, is common
usage for multiple consecutive commits by the same author, and sometimes
non-consecutive commits depending on how they did merging.)
> Either never use <account>@gcc.gnu.org, or always use it, don't do the
> worst of both worlds?
The heuristics here are to use an attribution from ChangeLog for the
author where unambiguous, but to use the committer (always @gcc.gnu.org /
@gnu.org [*], so avoiding attributions at the wrong company even where
people were using multiple addresses simultaneously for different changes)
as author if in doubt. I think that's better than either always or never
using @gcc.gnu.org. git tools computing commit statistics can generally
handle multiple email addresses with the same name automatically, and
.mailmap can be used to specify more detailed mappings for past commits
for at least git shortlog.
[*] Except in the special case of "rolfh" from the gcc2 history, where we
identified the author of the changes they committed but not who that user
was as a committer, so gcc.map specifies that author identity.
--
Joseph S. Myers
jsm@polyomino.org.uk