remote-hg: improve email sanitation
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
a2f7b6f8a9
commit
a2e462c5b5
contrib/remote-helpers
@ -51,6 +51,7 @@ import urlparse
|
|||||||
|
|
||||||
NAME_RE = re.compile('^([^<>]+)')
|
NAME_RE = re.compile('^([^<>]+)')
|
||||||
AUTHOR_RE = re.compile('^([^<>]+?)? ?<([^<>]*)>$')
|
AUTHOR_RE = re.compile('^([^<>]+?)? ?<([^<>]*)>$')
|
||||||
|
EMAIL_RE = re.compile('^([^<>]+[^ \\\t<>])?\\b(?:[ \\t<>]*?)\\b([^ \\t<>]+@[^ \\t<>]+)')
|
||||||
AUTHOR_HG_RE = re.compile('^(.*?) ?<(.*?)(?:>(.+)?)?$')
|
AUTHOR_HG_RE = re.compile('^(.*?) ?<(.*?)(?:>(.+)?)?$')
|
||||||
RAW_AUTHOR_RE = re.compile('^(\w+) (?:(.+)? )?<(.*)> (\d+) ([+-]\d+)')
|
RAW_AUTHOR_RE = re.compile('^(\w+) (?:(.+)? )?<(.*)> (\d+) ([+-]\d+)')
|
||||||
|
|
||||||
@ -245,9 +246,14 @@ def fixup_user_git(user):
|
|||||||
name = m.group(1)
|
name = m.group(1)
|
||||||
mail = m.group(2).strip()
|
mail = m.group(2).strip()
|
||||||
else:
|
else:
|
||||||
m = NAME_RE.match(user)
|
m = EMAIL_RE.match(user)
|
||||||
if m:
|
if m:
|
||||||
name = m.group(1).strip()
|
name = m.group(1)
|
||||||
|
mail = m.group(2)
|
||||||
|
else:
|
||||||
|
m = NAME_RE.match(user)
|
||||||
|
if m:
|
||||||
|
name = m.group(1).strip()
|
||||||
return (name, mail)
|
return (name, mail)
|
||||||
|
|
||||||
def fixup_user_hg(user):
|
def fixup_user_hg(user):
|
||||||
|
@ -137,15 +137,15 @@ test_expect_success 'authors' '
|
|||||||
|
|
||||||
author_test alpha "" "H G Wells <wells@example.com>" &&
|
author_test alpha "" "H G Wells <wells@example.com>" &&
|
||||||
author_test beta "test" "test <unknown>" &&
|
author_test beta "test" "test <unknown>" &&
|
||||||
author_test beta "test <test@example.com> (comment)" "test <unknown>" &&
|
author_test beta "test <test@example.com> (comment)" "test <test@example.com>" &&
|
||||||
author_test gamma "<test@example.com>" "Unknown <test@example.com>" &&
|
author_test gamma "<test@example.com>" "Unknown <test@example.com>" &&
|
||||||
author_test delta "name<test@example.com>" "name <test@example.com>" &&
|
author_test delta "name<test@example.com>" "name <test@example.com>" &&
|
||||||
author_test epsilon "name <test@example.com" "name <unknown>" &&
|
author_test epsilon "name <test@example.com" "name <test@example.com>" &&
|
||||||
author_test zeta " test " "test <unknown>" &&
|
author_test zeta " test " "test <unknown>" &&
|
||||||
author_test eta "test < test@example.com >" "test <test@example.com>" &&
|
author_test eta "test < test@example.com >" "test <test@example.com>" &&
|
||||||
author_test theta "test >test@example.com>" "test <unknown>" &&
|
author_test theta "test >test@example.com>" "test <test@example.com>" &&
|
||||||
author_test iota "test < test <at> example <dot> com>" "test <unknown>" &&
|
author_test iota "test < test <at> example <dot> com>" "test <unknown>" &&
|
||||||
author_test kappa "test@example.com" "test@example.com <unknown>"
|
author_test kappa "test@example.com" "Unknown <test@example.com>"
|
||||||
) &&
|
) &&
|
||||||
|
|
||||||
git clone "hg::$PWD/hgrepo" gitrepo &&
|
git clone "hg::$PWD/hgrepo" gitrepo &&
|
||||||
|
Loading…
Reference in New Issue
Block a user