nmh-workers
[Top] [All Lists]

Re: Commit hashes in ChangeLog.

2021-05-12 06:18:30
Hi David,

commit 9fd3638e971f661fb3af78c2aef003d17aa31798
Author: David Levine <levinedl@acm.org>
Date:   Tue May 11 20:05:03 2021 -0400

    Leave commit hashes in ChangeLog.
    
    With newer git, the yellow commit hashes slipped by the grep anyway.
    And grep tripped over an ISO8859 ü in the slocal.c log.

The diff:

    --- Makefile.am
    +++ Makefile.am
    @@ -1263,10 +1263,8 @@ cleanman:
     
     .PHONY: man cleanman
     
    -## Don't include commit hashes in ChangeLog.
     ChangeLog:
    -       @[ -d $(srcdir)/.git ]  &&  (cd $(srcdir); git --no-pager log 
--abbrev-commit | \
    -           egrep -v '^commit [0-9a-f]+$$' > $@)  ||  true
    +       @[ -d $(srcdir)/.git ]  &&  (cd $(srcdir); git log --abbrev-commit 
$@)  ||  true
     ## Make ChangeLog phony so it will always get regenerated.  But don't
     ## fail if we don't have a git repository in order to allow
     ## regeneration of distribution archive or RPM.
    $ 

I'm surprised yellow appears from ‘git --no-pager log --abbrev-commit’
when piped into something unless a personal ‘--color’ option is
insisting it occur even when stdout isn't a terminal?

I see the ‘ü’ you mention.  It does seem to cause egrep to delete the
line and add a ‘Binary file (standard input) matches’ matches.

    $ iconv -t iso-8859-1 <<<ü | sed -n l
    \374$
    $ C G log | C g -B1 -A3 $'\374'
        used slocal could perform the action even if the previous
        action failed.  Debian bug report #149745, filed by Daniel M�ller.

    commit f292123e4a8ff7bf829d2954ec838f677043ebd4
    Author: Glenn Burkhardt <glenn@aoi.ultranet.com>
    $ 
    $ g -A2 'slocal could perform the action' ChangeLog | sed -n l
        used slocal could perform the action even if the previous$
    $
    Author: Glenn Burkhardt <glenn@aoi.ultranet.com>$
    $

I think this change fixes both things and restores the commit-hash
removal, which you originally added.

    --- Makefile.am
    +++ Makefile.am
    @@ -1263,8 +1263,16 @@ cleanman:
     
     .PHONY: man cleanman
     
    +## Don't include commit hashes in ChangeLog.
    +## Fix ISO-8859-1 encoding of ‘ü’ in uip/slocal.c's log.
     ChangeLog:
    -       @[ -d $(srcdir)/.git ]  &&  (cd $(srcdir); git log --abbrev-commit 
$@)  ||  true
    +       @[ -d $(srcdir)/.git ]  &&  ( \
    +           cd $(srcdir); \
    +           git --no-pager log --no-color --abbrev-commit | \
    +            LC_ALL=C sed \
    +               -e '/^commit [0-9a-f][0-9a-f]*$$/d' \
    +               -e '/149745/s/M.ller/Müller/' >$@ \
    +       )  ||  true
     ## Make ChangeLog phony so it will always get regenerated.  But don't
     ## fail if we don't have a git repository in order to allow
     ## regeneration of distribution archive or RPM.
    $ 

Happy for me to commit?

-- 
Cheers, Ralph.

<Prev in Thread] Current Thread [Next in Thread>