我想配置Phabricator,这样我就可以推送http。
现在我把它配置为ok,在存储库页面中出现了克隆它的命令,并在" hosting"配置我已将其设置为读取/写入http(如下图所示)。此外,我已将diffusion.allow-http-auth
配置为true,并为我的用户配置VCS Password
。
我已正确完成了拉动,并添加了对此本地克隆的更改。
但是当我尝试推送初始历史记录/提交时,hg显示以下错误:
% hg push http://*********/diffusion/W/web/
pushing to http://*********/diffusion/W/web/
http authorization required
<--- Credentials Ok -->
realm: Phabricator Repositories
abort: operation not supported over http
我做错了什么? Http只能用来拉?
注意:我已经知道最好使用ssh,但我无法将服务器配置为可以通过其他无法更改的策略来使用它。此外,此问题可能与https://stackoverflow.com/questions/22485732/git-repositories-that-allow-push-pull-over-http
有关答案 0 :(得分:0)
在“扩散用户指南”中,Configuring HTTP部分,您可以看到提及的一些要求(在描述中未反映)
如果您打算使用经过身份验证的HTTP,则需要在Config中设置diffusion.allow-http-auth。如果您不打算使用HTTP,或者计划仅使用匿名HTTP,则可以禁用此设置。
如果您打算使用经过身份验证的HTTP,则还需要在&#34;设置&#34;中配置VCS密码。 - &GT; &#34; VCS密码&#34;。这是一个与主Phabricator密码不同的密码,主要是出于安全考虑。
答案 1 :(得分:0)
影响我的是服务器中的mercurial版本太旧了。我已将其更新为HG 3.0.1,现在我可以通过http。
从Phabricator中的task开始,不同版本的mercurial发生了这种情况:
您可以在Phabricator task T3046中看到相关任务。