[PATCH 6 of 8] more subrepo isolation, only use ui for hg.peer when there is no repo

Simon Heimberg simohe at besonet.ch
Mon Oct 22 04:56:00 CDT 2012


# HG changeset patch
# User Simon Heimberg <simohe at besonet.ch>
# Date 1349372803 -7200
# Node ID 02326c5dc9feb089d96cab2c6ab2ec6bb21d25cf
# Parent  3afe06c09df844d6c2305f2c1b54195c674346ac
more subrepo 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 3afe06c09df8 -r 02326c5dc9fe mercurial/commands.py
--- a/mercurial/commands.py	Sam Jul 28 23:28:36 2012 +0200
+++ b/mercurial/commands.py	Don Okt 04 19:46:43 2012 +0200
@@ -3510,7 +3510,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 3afe06c09df8 -r 02326c5dc9fe mercurial/hg.py
--- a/mercurial/hg.py	Sam Jul 28 23:28:36 2012 +0200
+++ b/mercurial/hg.py	Don Okt 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()


More information about the Mercurial-devel mailing list