coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] maint: sort contributors in THANKS.in


From: Pádraig Brady
Subject: Re: [PATCH] maint: sort contributors in THANKS.in
Date: Sun, 08 Feb 2015 22:17:08 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

On 08/02/15 19:40, Bernhard Voelker wrote:
> * Makefile.am (sort-THANKS.in): Add target to sort the name/email pair
> list in 'THANKS.in'.
> * THANKS.in: Sort via the above new target.
> * cfg.mk (sc_THANKS_in_sorted): Add rule to ensure that 'THANKS.in'
> remains sorted.
> ---
>  Makefile.am | 15 +++++++++++++++
>  THANKS.in   | 56 ++++++++++++++++++++++++++++----------------------------
>  cfg.mk      | 11 +++++++++++
>  3 files changed, 54 insertions(+), 28 deletions(-)
> 
> diff --git a/Makefile.am b/Makefile.am
> index cf0c8a0..e3a4354 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -172,6 +172,21 @@ THANKS: THANKS.in Makefile.am .mailmap thanks-gen 
> .version
>         printf ';; %s\n' 'Local Variables:' 'coding: utf-8' End:;     \
>       } > $@-t && chmod a-w $@-t && mv $@-t $@
>  
> +# Sort the contributor name/email pair list in 'THANKS.in'.
> +# See sc_THANKS_in_sorted ... which uses the same sort options.
> +.PHONY: sort-THANKS.in
> +sort-THANKS.in: Makefile.am
> +     $(AM_V_GEN)rm -f $@-t;                                          \
> +     {                                                               \
> +       sed '/^$$/q' THANKS.in                                        \
> +         && { sed '/^$$/,/^$$/!d;/^$$/d' THANKS.in                   \
> +                | LC_ALL='en_US.UTF-8' sort -f -k1,1; }              \
> +         && echo                                                     \
> +         && sed '0,/^$$/d;0,/^$$/d' THANKS.in;                       \
> +     } > $@-t                                                        \
> +       && test "$$(wc < THANKS.in)" = "$$(wc < $@-t)"                \
> +       && mv $@-t THANKS.in

This separate target is probably overkill,
as THANKS.in should remain sorted due to the sc_ rule.

> diff --git a/cfg.mk b/cfg.mk
> index f5be6de..26df247 100644
> --- a/cfg.mk
> +++ b/cfg.mk
> @@ -611,6 +611,17 @@ sc_THANKS_in_duplicates:
>           && { echo '$(ME): remove the above names from THANKS.in'    \
>                 1>&2; exit 1; } || :
>  
> +# Ensure the contributor list stays sorted.  The sort order can be fixed
> +# with 'make sort-THANKS.in' ... which uses the same sort options.
> +sc_THANKS_in_sorted:
> +     @sed '/^$$/,/^$$/!d;/^$$/d' THANKS.in > $@.1;                   \
> +     LC_ALL='en_US.UTF-8' sort -f -k1,1 $@.1 > $@.2
> +     @diff -u $@.1 $@.2; diff=$$?;                                   \
> +     rm -f $@.1 $@.2;                                                \
> +     test "$$diff" = 0                                               \
> +       || { echo '$(ME): THANKS.in is unsorted; please run'          \
> +              'make sort-THANKS.in' 1>&2; exit 1; }
> +

I don't like the sorting in this locale at all.
Actually the locale is OK, just the sorting in the patch seems
to have been done in LC_ALL=C ?

  $ printf '%s\n' Duncan Dániel Gaël Gary Ørn Oskar | LC_ALL=en_US.utf8 sort
  Dániel
  Duncan
  Gaël
  Gary
  Ørn
  Oskar

That locale doesn't work correctly with the only cyrillic entry though:

  $ printf '%s\n' Марк Michal | LC_ALL=en_US.utf8 sort
  Michal
  Марк

I'm thinking we should convert that to latin1 (Mark Korenberg) like all other 
entries.

cheers,
Pádraig.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]