diff -r 3158052720ae -r 7cc4a9b9732a mercurial/wireprotoserver.py --- a/mercurial/wireprotoserver.py Sat Feb 24 12:24:03 2018 -0800 +++ b/mercurial/wireprotoserver.py Sun Feb 25 11:16:09 2018 -0800 @@ -588,12 +588,19 @@ state) class sshserver(object): - def __init__(self, ui, repo): + def __init__(self, ui, repo, logfh=None): self._ui = ui self._repo = repo self._fin = ui.fin self._fout = ui.fout + # Log write I/O to stdout and stderr if configured. + if logfh: + self._fout = util.makeloggingfileobject( + logfh, self._fout, 'o', logdata=True) + ui.ferr = util.makeloggingfileobject( + logfh, ui.ferr, 'e', logdata=True) + hook.redirect(True) ui.fout = repo.ui.fout = ui.ferr