changeset 3768:6ae3685be45d

merge with crew
author Thomas Arendsen Hein <thomas@intevation.de>
date Sat, 02 Dec 2006 22:41:05 +0100
parents 1861fa38a6a7 (diff) 955475d237fc (current diff)
children 96095d9ff1f8 8ecc9c57d883
files
diffstat 3 files changed, 23 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py	Sat Dec 02 18:41:07 2006 -0200
+++ b/mercurial/commands.py	Sat Dec 02 22:41:05 2006 +0100
@@ -3031,8 +3031,7 @@
         elif not inst[1]:
             u.warn(_(" empty string\n"))
         else:
-            u.warn("\n%r%s\n" %
-                    (inst[1][:400], len(inst[1]) > 400 and '...' or ''))
+            u.warn("\n%r\n" % util.ellipsis(inst[1]))
     except util.Abort, inst:
         u.warn(_("abort: %s\n") % inst)
     except TypeError, inst:
--- a/mercurial/sshrepo.py	Sat Dec 02 18:41:07 2006 -0200
+++ b/mercurial/sshrepo.py	Sat Dec 02 22:41:05 2006 +0100
@@ -18,7 +18,7 @@
 
         m = re.match(r'^ssh://(([^@]+)@)?([^:/]+)(:(\d+))?(/(.*))?$', path)
         if not m:
-            self.repoerror(_("couldn't parse location %s") % path)
+            self.raise_(hg.RepoError(_("couldn't parse location %s") % path))
 
         self.user = m.group(2)
         self.host = m.group(3)
@@ -38,7 +38,7 @@
             ui.note('running %s\n' % cmd)
             res = os.system(cmd)
             if res != 0:
-                self.repoerror(_("could not create remote repo"))
+                self.raise_(hg.RepoError(_("could not create remote repo")))
 
         self.validate_repo(ui, sshcmd, args, remotecmd)
 
@@ -70,7 +70,7 @@
             lines.append(l)
             max_noise -= 1
         else:
-            self.repoerror(_("no suitable response from remote hg"))
+            self.raise_(hg.RepoError(_("no suitable response from remote hg")))
 
         self.capabilities = ()
         lines.reverse()
@@ -87,9 +87,9 @@
             if not l: break
             self.ui.status(_("remote: "), l)
 
-    def repoerror(self, msg):
+    def raise_(self, exception):
         self.cleanup()
-        raise hg.RepoError(msg)
+        raise exception
 
     def cleanup(self):
         try:
@@ -121,7 +121,7 @@
         try:
             l = int(l)
         except:
-            self.repoerror(_("unexpected response '%s'") % l)
+            self.raise_(util.UnexpectedOutput(_("unexpected response:"), l))
         return r.read(l)
 
     def lock(self):
@@ -134,21 +134,17 @@
     def lookup(self, key):
         d = self.call("lookup", key=key)
         success, data = d[:-1].split(" ", 1)
-        try:
-            if int(success):
-                return bin(data)
-            else:
-                raise data
-        except:
-            raise
-            raise hg.RepoError("unexpected response '%s'" % (d[:400] + "..."))
+        if int(success):
+            return bin(data)
+        else:
+            self.raise_(hg.RepoError(data))
 
     def heads(self):
         d = self.call("heads")
         try:
             return map(bin, d[:-1].split(" "))
         except:
-            self.repoerror(_("unexpected response '%s'") % (d[:400] + "..."))
+            self.raise_(util.UnexpectedOutput(_("unexpected response:"), d))
 
     def branches(self, nodes):
         n = " ".join(map(hex, nodes))
@@ -157,7 +153,7 @@
             br = [ tuple(map(bin, b.split(" "))) for b in d.splitlines() ]
             return br
         except:
-            self.repoerror(_("unexpected response '%s'") % (d[:400] + "..."))
+            self.raise_(util.UnexpectedOutput(_("unexpected response:"), d))
 
     def between(self, pairs):
         n = "\n".join(["-".join(map(hex, p)) for p in pairs])
@@ -166,7 +162,7 @@
             p = [ l and map(bin, l.split(" ")) or [] for l in d.splitlines() ]
             return p
         except:
-            self.repoerror(_("unexpected response '%s'") % (d[:400] + "..."))
+            self.raise_(util.UnexpectedOutput(_("unexpected response:"), d))
 
     def changegroup(self, nodes, kind):
         n = " ".join(map(hex, nodes))
@@ -180,7 +176,7 @@
     def unbundle(self, cg, heads, source):
         d = self.call("unbundle", heads=' '.join(map(hex, heads)))
         if d:
-            self.repoerror(_("push refused: %s") % d)
+            self.raise_(hg.RepoError(_("push refused: %s") % d))
 
         while 1:
             d = cg.read(4096)
@@ -206,7 +202,7 @@
     def addchangegroup(self, cg, source, url):
         d = self.call("addchangegroup")
         if d:
-            self.repoerror(_("push refused: %s") % d)
+            self.raise_(hg.RepoError(_("push refused: %s") % d))
         while 1:
             d = cg.read(4096)
             if not d: break
--- a/mercurial/util.py	Sat Dec 02 18:41:07 2006 -0200
+++ b/mercurial/util.py	Sat Dec 02 22:41:05 2006 +0100
@@ -1032,6 +1032,13 @@
         user = user[:f]
     return user
 
+def ellipsis(text, maxlength=400):
+    """Trim string to at most maxlength (default: 400) characters."""
+    if len(text) <= maxlength:
+        return text
+    else:
+        return "%s..." % (text[:maxlength-3])
+
 def walkrepos(path):
     '''yield every hg repository under path, recursively.'''
     def errhandler(err):