> On Feb 12, 2020, at 02:24, Makarius <makar...@sketis.net> wrote:
> 
> On 12/02/2020 07:50, Augie Fackler wrote:
>>> 
>>> A bisection over the hg repository yields the following relevant changeset:
>>> 
>>> changeset:   30563:e118233172fe
>>> user:        Gregory Szorc <gregory.sz...@gmail.com>
>>> date:        Mon Nov 28 20:46:42 2016 -0800
>>> files:       mercurial/wireproto.py tests/test-ssh-bundle1.t 
>>> tests/test-ssh.t
>>> description:
>>> wireproto: only advertise HTTP-specific capabilities to HTTP peers (BC)
>>> 
>>> What means "BC"?
>> 
>> "breaking change" or "behavior change" depending who you ask. :)
>> 
>>> Maybe Phabricator is a good reason to keep the full information?
>> 
>> Not especially. They're doing it wrong assuming that the --stdio protocol is 
>> compatible with http, and we've told them that more than once and they've 
>> responded...negatively. If someone wanted to try and figure out a way to 
>> have phabricator do the right thing (invoke hg's WSGI application, probably 
>> via CGI?) that would probably help. I'd certainly be open to mentoring 
>> someone doing that work, but I can't justify spending time on it myself.
>> 
>>> Do you think you can refine that for a future release of Mercurial?
>> 
>> I'm not sure what you're asking for here...
> 
> A minimal change to resolve the situation, e.g. by some option or config to
> force http over stdio.

Like I said up-thread, I'm happy to mentor someone through a `hg debugcgiweb` 
or something that would make it easier to use hg as a CGI script that would be 
appropriate for exposing to HTTP. I'm not going to say I'll do that work 
because I frankly don't have the time.

> Complex software products routinely depend on wrong assumptions.
> 
> De-facto we have a situation that Phabricator requires a very old version of
> Mercurial, and thus makes Mercurial look bad.

Last I knew phabricator was pinning to an ancient hg specifically because they 
try to parse our wire protocol blindly without actually understanding our 
format evolution policy (we detect new capabilities and then use a new format), 
and then blamed /us/ when we changed a format they shouldn't have been claiming 
(in the capabilities network call) to support. So I suspect even if you fix 
this immediate issue, hg-on-phabricator will still be Very Broken unless 
they've gotten their act together about filtering capabilities to something 
their software can cope with.

But I'm happy to mentor an easier cgi endpoint for things if someone has the 
energy. It just won't be me that has that energy. :)

> 
> 
>        Makarius

_______________________________________________
Mercurial mailing list
Mercurial@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial

Reply via email to