diff options
Diffstat (limited to 'hgext/convert/cvsps.py')
-rw-r--r-- | hgext/convert/cvsps.py | 60 |
1 files changed, 27 insertions, 33 deletions
diff --git a/hgext/convert/cvsps.py b/hgext/convert/cvsps.py index 97184d5..1519d41 100644 --- a/hgext/convert/cvsps.py +++ b/hgext/convert/cvsps.py @@ -11,7 +11,6 @@ import cPickle as pickle from mercurial import util from mercurial.i18n import _ from mercurial import hook -from mercurial import util class logentry(object): '''Class logentry has the following attributes: @@ -336,8 +335,7 @@ def createlog(ui, directory=None, root="", rlog=True, cache=None): else: myrev = '.'.join(myrev[:-2] + ['0', myrev[-2]]) branches = [b for b in branchmap if branchmap[b] == myrev] - assert len(branches) == 1, ('unknown branch: %s' - % e.mergepoint) + assert len(branches) == 1, 'unknown branch: %s' % e.mergepoint e.mergepoint = branches[0] else: e.mergepoint = None @@ -364,14 +362,8 @@ def createlog(ui, directory=None, root="", rlog=True, cache=None): elif state == 8: # store commit log message if re_31.match(line): - cpeek = peek - if cpeek.endswith('\n'): - cpeek = cpeek[:-1] - if re_50.match(cpeek): - state = 5 - store = True - else: - e.comment.append(line) + state = 5 + store = True elif re_32.match(line): state = 0 store = True @@ -521,8 +513,8 @@ def createchangeset(ui, log, fuzz=60, mergefrom=None, mergeto=None): e.comment == c.comment and e.author == c.author and e.branch == c.branch and - (not util.safehasattr(e, 'branchpoints') or - not util.safehasattr (c, 'branchpoints') or + (not hasattr(e, 'branchpoints') or + not hasattr (c, 'branchpoints') or e.branchpoints == c.branchpoints) and ((c.date[0] + c.date[1]) <= (e.date[0] + e.date[1]) <= @@ -557,25 +549,27 @@ def createchangeset(ui, log, fuzz=60, mergefrom=None, mergeto=None): # Sort files in each changeset - def entitycompare(l, r): - 'Mimic cvsps sorting order' - l = l.file.split('/') - r = r.file.split('/') - nl = len(l) - nr = len(r) - n = min(nl, nr) - for i in range(n): - if i + 1 == nl and nl < nr: - return -1 - elif i + 1 == nr and nl > nr: - return +1 - elif l[i] < r[i]: - return -1 - elif l[i] > r[i]: - return +1 - return 0 - for c in changesets: + def pathcompare(l, r): + 'Mimic cvsps sorting order' + l = l.split('/') + r = r.split('/') + nl = len(l) + nr = len(r) + n = min(nl, nr) + for i in range(n): + if i + 1 == nl and nl < nr: + return -1 + elif i + 1 == nr and nl > nr: + return +1 + elif l[i] < r[i]: + return -1 + elif l[i] > r[i]: + return +1 + return 0 + def entitycompare(l, r): + return pathcompare(l.file, r.file) + c.entries.sort(entitycompare) # Sort changesets by date @@ -706,11 +700,11 @@ def createchangeset(ui, log, fuzz=60, mergefrom=None, mergeto=None): if mergeto: m = mergeto.search(c.comment) if m: - if m.groups(): + try: m = m.group(1) if m == 'HEAD': m = None - else: + except: m = None # if no group found then merge to HEAD if m in branches and c.branch != m: # insert empty changeset for merge |