Skip to content
Snippets Groups Projects
Commit d67d0073 authored by Scott Chacon's avatar Scott Chacon
Browse files

fix message stripping and malformed user info

parent 8bfa8aa6
No related branches found
No related tags found
No related merge requests found
......@@ -4,9 +4,9 @@
- hg push git@...
- hg fetch [remote] (remote is url, hg alias or hg-git remote)
- hg clone url
* file:/// support
* work fine with eclipse plugin or tortoise-hg
MAPPING ISSUES
==============
* work in Git on a named branch created in Hg is forward-ported to be named branch commits in Hg and stripped back out if re-exported
......@@ -8,9 +8,8 @@
* work fine with eclipse plugin or tortoise-hg
MAPPING ISSUES
==============
* work in Git on a named branch created in Hg is forward-ported to be named branch commits in Hg and stripped back out if re-exported
* timezone issues (?)
REMOTE/BRANCH STUFF
......
import os, errno, sys, time, datetime, pickle, copy, math, urllib
import os, errno, sys, time, datetime, pickle, copy, math, urllib, re
import toposort
import dulwich
from dulwich.repo import Repo
......@@ -255,7 +255,20 @@
# hg authors might not have emails
author = ctx.user()
if not '>' in author:
# check for git author pattern compliance
regex = re.compile('^(.*?) \<(.*?)\>(.*)$')
a = regex.match(author)
if a:
name = a.group(1)
email = a.group(2)
if len(a.group(3)) > 0:
name += ' ext:(' + urllib.quote(a.group(3)) + ')'
author = name + ' <' + email + '>'
print "AUTHOR"
print author
else:
author = author + ' <none@none>'
commit['author'] = author + ' ' + str(int(time)) + ' ' + format_timezone(-timezone)
message = ctx.description()
......@@ -722,6 +735,16 @@
author = commit.author
# convert extra data back to the end
if ' ext:' in commit.author:
regex = re.compile('^(.*?)\ ext:\((.*)\) <(.*)\>$')
m = regex.match(commit.author)
if m:
name = m.group(1)
ex = urllib.unquote(m.group(2))
email = m.group(3)
author = name + ' <' + email + '>' + ex
if ' <none@none>' in commit.author:
author = commit.author[:-12]
......
......@@ -91,13 +91,13 @@
mn = self.manifest.add(m1, trp, linkrev, c1[0], c2[0],
(new, removed1))
lines = [line.rstrip() for line in text.rstrip().splitlines()]
while lines and not lines[0]:
del lines[0]
if not lines and use_dirstate:
raise util.Abort(_("empty commit message"))
text = '\n'.join(lines)
#lines = [line.rstrip() for line in text.rstrip().splitlines()]
#while lines and not lines[0]:
# del lines[0]
#text = '\n'.join(lines)
if text[-1] == "\n":
text = text[:-1]
file_list = []
if force_files == False:
file_list = []
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment