# HG changeset patch # User Benoit Boissinot # Date 2006-09-02 19:08:54 # Node ID 2b0bc36a48d824ead2d60e7f6632a64953e219c9 # Parent 892eb1b4f9730f39386fb9eea7e4097123d2b801 sshrepo: flush stderr before connecting to the hg server diff --git a/mercurial/sshrepo.py b/mercurial/sshrepo.py --- a/mercurial/sshrepo.py +++ b/mercurial/sshrepo.py @@ -52,6 +52,9 @@ class sshrepository(remoterepository): return self._url def validate_repo(self, ui, sshcmd, args, remotecmd): + # cleanup up previous run + self.cleanup() + cmd = '%s %s "%s -R %s serve --stdio"' cmd = cmd % (sshcmd, args, remotecmd, self.path) @@ -90,7 +93,7 @@ class sshrepository(remoterepository): if not l: break self.ui.status(_("remote: "), l) - def __del__(self): + def cleanup(self): try: self.pipeo.close() self.pipei.close() @@ -101,6 +104,8 @@ class sshrepository(remoterepository): except: pass + __del__ = cleanup + def do_cmd(self, cmd, **args): self.ui.debug(_("sending %s command\n") % cmd) self.pipeo.write("%s\n" % cmd) diff --git a/tests/test-init.out b/tests/test-init.out --- a/tests/test-init.out +++ b/tests/test-init.out @@ -1,6 +1,7 @@ # creating 'local' adding foo # init+push to remote2 +remote: abort: repository remote2 not found! changeset: 0:c4e059d443be tag: tip user: test @@ -14,6 +15,7 @@ remote: adding manifests remote: adding file changes remote: added 1 changesets with 1 changes to 1 files # clone to remote1 +remote: abort: repository remote1 not found! searching for changes remote: abort: repository remote1 not found! remote: adding changesets