mirror of
https://github.com/frej/fast-export.git
synced 2026-02-24 13:30:43 +01:00
Support Mercurial 7.2
In Mercurial 7.2 the iteritems() method of the branchmap has been removed. Switch to iterating over the branches and then fetching heads by the branchheads() method. In 7.2, a call to mercurial.initialization.init() is also needed to process a repo using the largefiles extension. Thanks to Michael Cho (@cho-m) for suggesting the initialization fix. Closes #348 Co-developed-by: Michael Cho <michael@michaelcho.dev>
This commit is contained in:
@@ -488,7 +488,9 @@ def branchtip(repo, heads):
|
||||
|
||||
def verify_heads(ui,repo,cache,force,ignore_unnamed_heads,branchesmap):
|
||||
branches={}
|
||||
for bn, heads in repo.branchmap().iteritems():
|
||||
|
||||
for bn in repo.branchmap():
|
||||
heads = repo.branchmap().branchheads(bn)
|
||||
branches[bn] = branchtip(repo, heads)
|
||||
l=[(-repo.changelog.rev(n), n, t) for t, n in branches.items()]
|
||||
l.sort()
|
||||
|
||||
@@ -30,6 +30,14 @@ def set_origin_name(name):
|
||||
origin_name = name.encode('utf8')
|
||||
|
||||
def setup_repo(url):
|
||||
try:
|
||||
# Mercurial >= 7.2 requires explicit initialization for largefile
|
||||
# support to work.
|
||||
from mercurial import initialization
|
||||
initialization.init()
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
try:
|
||||
myui=ui.ui(interactive=False)
|
||||
except TypeError:
|
||||
|
||||
Reference in New Issue
Block a user