# HG changeset patch # User Simon Heimberg # Date 1349372803 -7200 # Node ID 92ba3cd55be69a690c027c2c339ca928b61b8d03 # Parent 2ba70eec1cf009bacdb4a0473c149102764c9b51 subrepo: more isolation, only use ui for hg.peer when there is no repo ui contains repo specific configuration, so do not use it when there is a repo. But pass it to hg.peer when there is no repo. Then it only contains global configuration. diff -r 2ba70eec1cf0 -r 92ba3cd55be6 mercurial/commands.py --- a/mercurial/commands.py Sat Jul 28 23:28:36 2012 +0200 +++ b/mercurial/commands.py Thu Oct 04 19:46:43 2012 +0200 @@ -3538,7 +3538,7 @@ if source: source, branches = hg.parseurl(ui.expandpath(source)) - peer = hg.peer(ui, opts, source) + peer = hg.peer(repo or ui, opts, source) # only pass ui when no repo repo = peer.local() revs, checkout = hg.addbranchrevs(repo, peer, branches, None) diff -r 2ba70eec1cf0 -r 92ba3cd55be6 mercurial/hg.py --- a/mercurial/hg.py Sat Jul 28 23:28:36 2012 +0200 +++ b/mercurial/hg.py Thu Oct 04 19:46:43 2012 +0200 @@ -353,7 +353,8 @@ node=node.hex(node.nullid)) else: try: - destpeer = peer(ui, peeropts, dest, create=True) + destpeer = peer(srcrepo or ui, peeropts, dest, create=True) + # only pass ui when no srcrepo except OSError, inst: if inst.errno == errno.EEXIST: dircleanup.close()