Re: Bug in .mailmap handling?

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

 



Stefan Beller <stefanbeller@xxxxxxxxxxxxxx> 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@xxxxxxxxxxx>" -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_email@xxxxxxxxxxx>" -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@xxxxxxxxxxx>
> 		  1  A <changed_email@xxxxxxxxxxx>

Yes.

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

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@xxxxxxxxxxx> <changed_email@xxxxxxxxxxx>" > .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@xxxxxxxxxxx>
> 		 1  A <a@xxxxxxxxxxx>

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@xxxxxxxxxxx>.

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

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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]