diff options
author | Felipe Contreras <felipe.contreras@gmail.com> | 2013-04-30 20:10:04 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-04-30 22:06:47 -0700 |
commit | 3f6e7c0af18b5362d5d7b847d2b92ce38e72e030 (patch) | |
tree | 1d86963178cefdb3ad96c22b7824badd63270f28 /contrib/remote-helpers | |
parent | remote-bzr: add support for shared repo (diff) | |
download | tgif-3f6e7c0af18b5362d5d7b847d2b92ce38e72e030.tar.xz |
remote-bzr: improve author sanitazion
So that we don't end up with '<None>', and also synchronize it with the
one from remote-hg.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib/remote-helpers')
-rwxr-xr-x | contrib/remote-helpers/git-remote-bzr | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr index 9fe830e3cd..af46016dc9 100755 --- a/contrib/remote-helpers/git-remote-bzr +++ b/contrib/remote-helpers/git-remote-bzr @@ -38,6 +38,7 @@ import atexit, shutil, hashlib, urlparse, subprocess NAME_RE = re.compile('^([^<>]+)') AUTHOR_RE = re.compile('^([^<>]+?)? ?<([^<>]*)>$') +EMAIL_RE = re.compile('^([^<>]+[^ \\\t<>])?\\b(?:[ \\t<>]*?)\\b([^ \\t<>]+@[^ \\t<>]+)') RAW_AUTHOR_RE = re.compile('^(\w+) (.+)? <(.*)> (\d+) ([+-]\d+)') def die(msg, *args): @@ -175,9 +176,19 @@ def fixup_user(user): name = m.group(1) mail = m.group(2).strip() else: - m = NAME_RE.match(user) + m = EMAIL_RE.match(user) 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() + + if not name: + name = 'unknown' + if not mail: + mail = 'Unknown' return '%s <%s>' % (name, mail) |