merge with stable
authorMatt Mackall <mpm@selenic.com>
Wed, 29 Feb 2012 17:27:24 -0600
changeset 16197 0196c437ca9f
parent 16192 a4413624d014 (current diff)
parent 16196 8ae7626d8bf1 (diff)
child 16206 1970e6f61009
merge with stable
mercurial/subrepo.py
--- a/hgext/bugzilla.py	Tue Feb 28 21:17:53 2012 -0600
+++ b/hgext/bugzilla.py	Wed Feb 29 17:27:24 2012 -0600
@@ -497,6 +497,7 @@
 
     def request(self, host, handler, request_body, verbose=0):
         self.verbose = verbose
+        self.accept_gzip_encoding = False
 
         # issue XML-RPC request
         h = self.make_connection(host)
--- a/mercurial/bookmarks.py	Tue Feb 28 21:17:53 2012 -0600
+++ b/mercurial/bookmarks.py	Wed Feb 29 17:27:24 2012 -0600
@@ -129,11 +129,12 @@
 def unsetcurrent(repo):
     wlock = repo.wlock()
     try:
-        util.unlink(repo.join('bookmarks.current'))
-        repo._bookmarkcurrent = None
-    except OSError, inst:
-        if inst.errno != errno.ENOENT:
-            raise
+        try:
+            util.unlink(repo.join('bookmarks.current'))
+            repo._bookmarkcurrent = None
+        except OSError, inst:
+            if inst.errno != errno.ENOENT:
+                raise
     finally:
         wlock.release()
 
--- a/mercurial/bundlerepo.py	Tue Feb 28 21:17:53 2012 -0600
+++ b/mercurial/bundlerepo.py	Wed Feb 29 17:27:24 2012 -0600
@@ -168,6 +168,7 @@
             self._tempparent = tempfile.mkdtemp()
             localrepo.instance(ui, self._tempparent, 1)
             localrepo.localrepository.__init__(self, ui, self._tempparent)
+        self.ui.setconfig('phases', 'publish', False)
 
         if path:
             self._url = 'bundle:' + util.expandpath(path) + '+' + bundlename
--- a/mercurial/subrepo.py	Tue Feb 28 21:17:53 2012 -0600
+++ b/mercurial/subrepo.py	Wed Feb 29 17:27:24 2012 -0600
@@ -508,7 +508,7 @@
         anc = dst.ancestor(cur)
 
         def mergefunc():
-            if anc == cur:
+            if anc == cur and dst.branch() == cur.branch():
                 self._repo.ui.debug("updating subrepo %s\n" % subrelpath(self))
                 hg.update(self._repo, state[1])
             elif anc == dst:
--- a/tests/test-phases-exchange.t	Tue Feb 28 21:17:53 2012 -0600
+++ b/tests/test-phases-exchange.t	Wed Feb 29 17:27:24 2012 -0600
@@ -465,6 +465,38 @@
   o  0 public a-A - 054250a37db4
   
 
+Pulling from bundle does not alter phases of changeset not present in the bundle
+
+  $ hg bundle  --base 1 -r 6 -r 3 ../partial-bundle.hg
+  5 changesets found
+  $ hg pull ../partial-bundle.hg
+  pulling from ../partial-bundle.hg
+  searching for changes
+  no changes found
+  $ hgph
+  @  10 draft a-H - 967b449fbc94
+  |
+  | o  9 draft a-G - 3e27b6f1eee1
+  | |
+  | o  8 draft a-F - b740e3e5c05d
+  | |
+  | o  7 draft a-E - e9f537e46dea
+  | |
+  +---o  6 public n-B - 145e75495359
+  | |
+  o |  5 public n-A - d6bcb4f74035
+  | |
+  o |  4 public b-A - f54f1bb90ff3
+  | |
+  | o  3 public a-D - b555f63b6063
+  | |
+  | o  2 public a-C - 54acac6f23ab
+  |/
+  o  1 public a-B - 548a3d25dbf0
+  |
+  o  0 public a-A - 054250a37db4
+  
+
 Pushing to Publish=False (unknown changeset)
 
   $ hg push ../mu -r b740e3e5c05d # a-F