Eric Sunshine <[email protected]> writes:

> With the introduction of check-mailmap, it is now possible to check
> .mailmap functionality directly rather than indirectly as a side-effect
> of other commands (such as git-shortlog), therefore, do so.

Does this patch mean that we will now ignore future breakages in
shortlog and blame if their mailmap integration becomes buggy?

I am not convinced it is a good idea if that is what is going on.

>
> Signed-off-by: Eric Sunshine <[email protected]>
> ---
>  t/t4203-mailmap.sh | 133 
> ++++++++++++++++++-----------------------------------
>  1 file changed, 45 insertions(+), 88 deletions(-)
>
> diff --git a/t/t4203-mailmap.sh b/t/t4203-mailmap.sh
> index 8645492..48a000b 100755
> --- a/t/t4203-mailmap.sh
> +++ b/t/t4203-mailmap.sh
> @@ -74,128 +74,96 @@ test_expect_success 'check-mailmap bogus contact' '
>  '
>  
>  cat >expect <<\EOF
> -A U Thor (1):
> -      initial
> -
> -nick1 (1):
> -      second
> -
> +A U Thor <[email protected]>
> +nick1 <[email protected]>
>  EOF
>  
>  test_expect_success 'No mailmap' '
> -     git shortlog HEAD >actual &&
> +     git check-mailmap --stdin <contacts >actual &&
>       test_cmp expect actual
>  '
>  
>  cat >expect <<\EOF
> -Repo Guy (1):
> -      initial
> -
> -nick1 (1):
> -      second
> -
> +Repo Guy <[email protected]>
> +nick1 <[email protected]>
>  EOF
>  
>  test_expect_success 'default .mailmap' '
>       echo "Repo Guy <[email protected]>" > .mailmap &&
> -     git shortlog HEAD >actual &&
> +     git check-mailmap --stdin <contacts >actual &&
>       test_cmp expect actual
>  '
>  
>  # Using a mailmap file in a subdirectory of the repo here, but
>  # could just as well have been a file outside of the repository
>  cat >expect <<\EOF
> -Internal Guy (1):
> -      second
> -
> -Repo Guy (1):
> -      initial
> -
> +Repo Guy <[email protected]>
> +Internal Guy <[email protected]>
>  EOF
>  test_expect_success 'mailmap.file set' '
>       mkdir -p internal_mailmap &&
>       echo "Internal Guy <[email protected]>" > internal_mailmap/.mailmap &&
>       git config mailmap.file internal_mailmap/.mailmap &&
> -     git shortlog HEAD >actual &&
> +     git check-mailmap --stdin <contacts >actual &&
>       test_cmp expect actual
>  '
>  
>  cat >expect <<\EOF
> -External Guy (1):
> -      initial
> -
> -Internal Guy (1):
> -      second
> -
> +External Guy <[email protected]>
> +Internal Guy <[email protected]>
>  EOF
>  test_expect_success 'mailmap.file override' '
>       echo "External Guy <[email protected]>" >> internal_mailmap/.mailmap &&
>       git config mailmap.file internal_mailmap/.mailmap &&
> -     git shortlog HEAD >actual &&
> +     git check-mailmap --stdin <contacts >actual &&
>       test_cmp expect actual
>  '
>  
>  cat >expect <<\EOF
> -Repo Guy (1):
> -      initial
> -
> -nick1 (1):
> -      second
> -
> +Repo Guy <[email protected]>
> +nick1 <[email protected]>
>  EOF
>  
>  test_expect_success 'mailmap.file non-existent' '
>       rm internal_mailmap/.mailmap &&
>       rmdir internal_mailmap &&
> -     git shortlog HEAD >actual &&
> +     git check-mailmap --stdin <contacts >actual &&
>       test_cmp expect actual
>  '
>  
>  cat >expect <<\EOF
> -Internal Guy (1):
> -      second
> -
> -Repo Guy (1):
> -      initial
> -
> +Repo Guy <[email protected]>
> +Internal Guy <[email protected]>
>  EOF
>  
>  test_expect_success 'name entry after email entry' '
>       mkdir -p internal_mailmap &&
>       echo "<[email protected]> <[email protected]>" >internal_mailmap/.mailmap &&
>       echo "Internal Guy <[email protected]>" >>internal_mailmap/.mailmap &&
> -     git shortlog HEAD >actual &&
> +     git check-mailmap --stdin <contacts >actual &&
>       test_cmp expect actual
>  '
>  
>  cat >expect <<\EOF
> -Internal Guy (1):
> -      second
> -
> -Repo Guy (1):
> -      initial
> -
> +Repo Guy <[email protected]>
> +Internal Guy <[email protected]>
>  EOF
>  
>  test_expect_success 'name entry after email entry, case-insensitive' '
>       mkdir -p internal_mailmap &&
>       echo "<[email protected]> <[email protected]>" >internal_mailmap/.mailmap &&
>       echo "Internal Guy <[email protected]>" >>internal_mailmap/.mailmap &&
> -     git shortlog HEAD >actual &&
> +     git check-mailmap --stdin <contacts >actual &&
>       test_cmp expect actual
>  '
>  
>  cat >expect <<\EOF
> -A U Thor (1):
> -      initial
> -
> -nick1 (1):
> -      second
> -
> +A U Thor <[email protected]>
> +nick1 <[email protected]>
>  EOF
>  test_expect_success 'No mailmap files, but configured' '
>       rm -f .mailmap internal_mailmap/.mailmap &&
> -     git shortlog HEAD >actual &&
> +     git check-mailmap --stdin <contacts >actual &&
>       test_cmp expect actual
>  '
>  
> @@ -217,54 +185,43 @@ test_expect_success 'setup mailmap blob tests' '
>  
>  test_expect_success 'mailmap.blob set' '
>       cat >expect <<-\EOF &&
> -     Blob Guy (1):
> -           second
> -
> -     Repo Guy (1):
> -           initial
> -
> +     Repo Guy <[email protected]>
> +     Blob Guy <[email protected]>
>       EOF
> -     git -c mailmap.blob=map:just-bugs shortlog HEAD >actual &&
> +     git -c mailmap.blob=map:just-bugs check-mailmap --stdin \
> +             <contacts >actual &&
>       test_cmp expect actual
>  '
>  
>  test_expect_success 'mailmap.blob overrides .mailmap' '
>       cat >expect <<-\EOF &&
> -     Blob Guy (2):
> -           initial
> -           second
> -
> +     Blob Guy <[email protected]>
> +     Blob Guy <[email protected]>
>       EOF
> -     git -c mailmap.blob=map:both shortlog HEAD >actual &&
> +     git -c mailmap.blob=map:both check-mailmap --stdin \
> +             <contacts  >actual &&
>       test_cmp expect actual
>  '
>  
>  test_expect_success 'mailmap.file overrides mailmap.blob' '
>       cat >expect <<-\EOF &&
> -     Blob Guy (1):
> -           second
> -
> -     Internal Guy (1):
> -           initial
> -
> +     Internal Guy <[email protected]>
> +     Blob Guy <[email protected]>
>       EOF
>       git \
>         -c mailmap.blob=map:both \
>         -c mailmap.file=internal.map \
> -       shortlog HEAD >actual &&
> +       check-mailmap --stdin <contacts >actual &&
>       test_cmp expect actual
>  '
>  
>  test_expect_success 'mailmap.blob can be missing' '
>       cat >expect <<-\EOF &&
> -     Repo Guy (1):
> -           initial
> -
> -     nick1 (1):
> -           second
> -
> +     Repo Guy <[email protected]>
> +     nick1 <[email protected]>
>       EOF
> -     git -c mailmap.blob=map:nonexistent shortlog HEAD >actual &&
> +     git -c mailmap.blob=map:nonexistent check-mailmap --stdin \
> +             <contacts >actual &&
>       test_cmp expect actual
>  '
>  
> @@ -273,12 +230,12 @@ test_expect_success 'mailmap.blob defaults to off in 
> non-bare repo' '
>       (
>               cd non-bare &&
>               test_commit one .mailmap "Fake Name <[email protected]>" &&
> -             echo "     1    Fake Name" >expect &&
> -             git shortlog -ns HEAD >actual &&
> +             echo "Fake Name <[email protected]>" >expect &&
> +             git check-mailmap "A U Thor <[email protected]>" >actual &&
>               test_cmp expect actual &&
>               rm .mailmap &&
> -             echo "     1    A U Thor" >expect &&
> -             git shortlog -ns HEAD >actual &&
> +             echo "A U Thor <[email protected]>" >expect &&
> +             git check-mailmap "A U Thor <[email protected]>" >actual &&
>               test_cmp expect actual
>       )
>  '
> @@ -287,8 +244,8 @@ test_expect_success 'mailmap.blob defaults to 
> HEAD:.mailmap in bare repo' '
>       git clone --bare non-bare bare &&
>       (
>               cd bare &&
> -             echo "     1    Fake Name" >expect &&
> -             git shortlog -ns HEAD >actual &&
> +             echo "Fake Name <[email protected]>" >expect &&
> +             git check-mailmap "A U Thor <[email protected]>" >actual &&
>               test_cmp expect actual
>       )
>  '
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to