diff mercurial/localrepo.py @ 17298:59c14bf5a48c stable

pushkey: do not exchange obsole markers if feature is disabled This apply to both push and pull both when client or server.
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Sat, 28 Jul 2012 13:33:06 +0200
parents 6955d69a52a4
children e51d4aedace9
line wrap: on
line diff
--- a/mercurial/localrepo.py	Sat Jul 28 13:05:25 2012 +0200
+++ b/mercurial/localrepo.py	Sat Jul 28 13:33:06 2012 +0200
@@ -1787,15 +1787,16 @@
                 # should be seen as public
                 phases.advanceboundary(self, phases.public, subset)
 
-            self.ui.debug('fetching remote obsolete markers')
-            remoteobs = remote.listkeys('obsolete')
-            if 'dump0' in remoteobs:
-                if tr is None:
-                    tr = self.transaction(trname)
-                for key in sorted(remoteobs, reverse=True):
-                    if key.startswith('dump'):
-                        data = base85.b85decode(remoteobs[key])
-                        self.obsstore.mergemarkers(tr, data)
+            if obsolete._enabled:
+                self.ui.debug('fetching remote obsolete markers')
+                remoteobs = remote.listkeys('obsolete')
+                if 'dump0' in remoteobs:
+                    if tr is None:
+                        tr = self.transaction(trname)
+                    for key in sorted(remoteobs, reverse=True):
+                        if key.startswith('dump'):
+                            data = base85.b85decode(remoteobs[key])
+                            self.obsstore.mergemarkers(tr, data)
             if tr is not None:
                 tr.close()
         finally:
@@ -1959,7 +1960,7 @@
                             self.ui.warn(_('updating %s to public failed!\n')
                                             % newremotehead)
                 self.ui.debug('try to push obsolete markers to remote\n')
-                if (self.obsstore and
+                if (obsolete._enabled and self.obsstore and
                     'obsolete' in remote.listkeys('namespaces')):
                     rslts = []
                     remotedata = self.listkeys('obsolete')