--- a/mercurial/sshrepo.py Sat May 12 16:00:58 2012 +0200
+++ b/mercurial/sshrepo.py Sat May 12 16:02:45 2012 +0200
@@ -29,6 +29,7 @@
def __init__(self, ui, path, create=False):
self._url = path
self.ui = ui
+ self.pipeo = self.pipei = self.pipee = None
u = util.url(path, parsequery=False, parsefragment=False)
if u.scheme != 'ssh' or not u.host or u.path is None:
@@ -111,15 +112,17 @@
raise exception
def cleanup(self):
+ if self.pipeo is None:
+ return
+ self.pipeo.close()
+ self.pipei.close()
try:
- self.pipeo.close()
- self.pipei.close()
# read the error descriptor until EOF
for l in self.pipee:
self.ui.status(_("remote: "), l)
- self.pipee.close()
- except:
+ except (IOError, ValueError):
pass
+ self.pipee.close()
__del__ = cleanup