Stefan Beller <stefanbel...@googlemail.com> writes:

> Hello,
>
> you may have noticed I am currently trying to bring the 
> mailmap file of git itself up to date. I noticed
> some behavior, which I did not expect. Have a look yourself:
>
> ---
>       # prepare test environment:
>       mkdir testmailmap
>       cd testmailmap/
>       git init
>
>       # do a commit:
>       echo "asdf" > test1 
>       git add test1
>       git commit -a --author="A <a...@example.org>" -m "add test1"
>
>       # commit with same name, but different email 
>       # (different capitalization does the trick already, 
>       # but here I am going to use a different mail)
>       echo "asdf" > test2
>       git add test2
>       git commit -a --author="A <changed_em...@example.org>" -m "add test2"
>
>       # how do we know it's the same person?
>       git shortlog
>       A (2):
>                 add test1
>                 add test2

You don't, and it is a long known behaviour.

>       # reports as expected:
>       git shortlog -sne
>                 1  A <a...@example.org>
>                 1  A <changed_em...@example.org>

Yes.

>       # Adding the line to the mailmap should make life easy, so we know
>       # it's the same person
>       echo "A <a...@example.org> <changed_em...@example.org>" > .mailmap
>
>       # Come on, I just wanted to have it reported as one person!
>       git shortlog -sne
>                1  A <a...@example.org>
>                1  A <a...@example.org>

Err, where does the lowercase a@ come from in the above?  Are we
missing some steps before we get here?

>       # So let's try another line in the mailmap file, (small 'a')
>       echo "A <a...@example.org> <changed_em...@example.org>" > .mailmap

This is ">", not ">>", I presume?  Otherwise changed_email is mapped
to two destination, no?

>       # We're not there yet?
>       git shortlog -sne
>                1  A <a...@example.org>
>                1  A <a...@example.org>

Expected, as long as some hidden set-up you did not describe that
caused me to say "Err, where does the lowercase a@ come from" is
there, i.e. one of the two commits is done by <a...@example.org>.

>       # Now let's write it rather explicit: 
>       # (essentially just write 2 lines into the mailmap file)
>       cat << EOF > .mailmap
>       A <a...@example.org> <changed_em...@example.org>
>       A <a...@example.org> <a...@example.org>
>       EOF
>                
>       # works as expected now
>       git shortlog -sne
>                2  A <a...@example.org>

Makes sense.

>       # works as expected now as well
>       git shortlog      
>       A (2):
>                 add test1
>                 add test2
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to