#
# This is the email aliases file, mapping secondary addresses onto a
# single, canonical address. It duplicates some info from .mailmap so
# if you are adding something here also consider if the .mailmap needs
# updating.
#
# If you just want to avoid gitdm complaining about author fields
# which are actually email addresses with the message:
#
#   "...is an author name, probably not what you want"
#
# you can just apply --use-mailmap to you git-log command, e.g:
#
#   git log --use-mailmap --numstat --since "last 2 years" | $GITDM
#
# however that will have the effect of squashing multiple addresses to
# a canonical address which will distort the stats of those who
# contribute in both personal and professional capacities from
# different addresses.
#

# weird commits
balrog@c046a42c-6fe2-441c-8c8c-71466251a162 balrogg@gmail.com
aliguori@c046a42c-6fe2-441c-8c8c-71466251a162 anthony@codemonkey.ws
aurel32@c046a42c-6fe2-441c-8c8c-71466251a162 aurelien@aurel32.net
blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162 blauwirbel@gmail.com
edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162 edgar.iglesias@gmail.com
bellard@c046a42c-6fe2-441c-8c8c-71466251a162 fabrice@bellard.org
j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162 l_indien@magic.fr
pbrook@c046a42c-6fe2-441c-8c8c-71466251a162 paul@codesourcery.com
ths@c046a42c-6fe2-441c-8c8c-71466251a162 ths@networkno.de
malc@c046a42c-6fe2-441c-8c8c-71466251a162 av1474@comtv.ru

# canonical emails
liq3ea@163.com liq3ea@gmail.com

# some broken tags
yuval.shaia.ml.gmail.com yuval.shaia.ml@gmail.com

# There is also a:
#    (no author) <(no author)@c046a42c-6fe2-441c-8c8c-71466251a162>
# for the cvs2svn initialization commit e63c3dc74bf.

# Next, translate a few commits where mailman rewrote the From: line due
# to strict SPF, although we prefer to avoid adding more entries like that.
"Ed Swierk via Qemu-devel" eswierk@skyportsystems.com
"Ian McKellar via Qemu-devel" ianloic@google.com
"Julia Suvorova via Qemu-devel" jusual@mail.ru
"Justin Terry (VM) via Qemu-devel" juterry@microsoft.com
