AFAIK, the "hg serve --stdio" command does not start hgweb. It just instruct 
HG to start the wire protocol to listen on SSH stdin instead of a HTTP 
socket. But the HG wire protocol has no command to retrieve a file revision 

So the solution would be to either:
- Implement a new wire command to retrieve a file revision on the HG side. 
There has always been some push back for such requests, so I don't see that 
- Implement a specialized HGSSHClient class in the of the ReviewBoard 
scmtools to would run remotely run "hg cat" command and dump the result over 
the SSH link, instead of trying to run the HG wire protocol over SSH.
The Pros is that this would work with any mercurial version.
The drawback of this solution is that you can't protect SSH accesses with the 
hg-ssh script. You would have to use a different wrapper.


On Thursday 19 May 2011 01:11:37 am Chris Toomey wrote:
> Thanks Giles.  When I was trying to debug it I saw that it was running
> "hg serve" remotely on the target host over ssh, so it looked like it
> should thus be able to work w/ the same hgweb interface, but that's
> about where I got stuck trying to figure out why it wasn't working.
> Was that some work that was started and not completed or was I
> misinterpreting how it was trying to work?
> Chris
> On May 17, 10:27 pm, Gilles Moris <> wrote:
> > On Tuesday 17 May 2011 07:51:07 am Chris Toomey wrote:
> > > Hi Christian,
> > >
> > > It just has the info about the file/revision that it says it can't
> > > find:
> > >
> > > {"stat": "fail", "err": {"msg": "The file was not found in the
> > > repository", "code": 207}, "file": "webapp/zend/application/
> > > Bootstrap.php", "revision": "89c64afda439"}
> > >
> > > If I cd to the repository dir. on the server (the RB server and
> > > mercurial repository are on the same host) and execute "hg cat -r
> > > 89c64afda439 webapp/zend/application/Bootstrap.php" I get the contents
> > > of that rev. of the file, which is definitely in the repository.  And
> > > again, it's able to access that rev. of the file when I use an http://
> > > repository path in RB.
> > >
> > > Chris
> >
> > The 'hg cat' command cannot operate remotely through ssh:// repositories.
> > It works only locally. The http:// repos in RB work around that using the
> > raw file download from the hgweb interface.
> > So you cannot configure a HG repo with ssh:// from ReviewBoard.
> > You have to use local path (or NFS/SMB) or http://. It might be possible
> > to use https:// as well.
> >
> > Regards.
> > Gilles.

Want to help the Review Board project? Donate today at
Happy user? Let us know at
To unsubscribe from this group, send email to
For more options, visit this group at

Reply via email to