diff mercurial/localrepo.py @ 17193:1d710fe5ee0e

peer: introduce canpush and improve error message
author Sune Foldager <cryo@cyanite.org>
date Fri, 13 Jul 2012 21:52:28 +0200
parents 1ac628cd7113
children 32a6a33b9a35
line wrap: on
line diff
--- a/mercurial/localrepo.py	Fri Jul 13 21:47:06 2012 +0200
+++ b/mercurial/localrepo.py	Fri Jul 13 21:52:28 2012 +0200
@@ -49,6 +49,9 @@
     def cancopy(self):
         return self._repo.cancopy() # so bundlerepo can override
 
+    def canpush(self):
+        return True
+
     def url(self):
         return self._repo.url()
 
@@ -1804,6 +1807,8 @@
         # unbundle assumes local user cannot lock remote repo (new ssh
         # servers, http servers).
 
+        if not remote.canpush():
+            raise util.Abort(_("destination does not support push"))
         # get local lock as we might write phase data
         locallock = self.lock()
         try: