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

Simon Heimberg simohe at besonet.ch
Wed Oct 24 17:41:15 CDT 2012


# HG changeset patch
# User Simon Heimberg <simohe at besonet.ch>
# Date 1349372803 -7200
# Node ID 042a913184102e1cc300fcc6d25b4af38f0c8d44
# Parent  04ba63a08fba6b1729727ed16ac7c23f40250c61
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 04ba63a08fba -r 042a91318410 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 04ba63a08fba -r 042a91318410 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