2014-06-18 61 views
1

我想配置Phabricator,以便我可以推送http。配置phabricator以允許推送http

現在我配置好了,在存儲庫頁面出現命令克隆它,並在「託管」配置我已經設置爲讀/寫http(正如你可以在圖像中看到的)。此外,我已將diffusion.allow-http-auth設置爲true,並將VCS Password配置爲我的用戶。

Status of the repository: all ok

Hosting - Server over HTTP: Read/Write

我已經做得正確,從它一拉,並添加更改此本地克隆。

但是,當我試圖把初始歷史/提交,汞會顯示以下錯誤:

% 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

什麼影響我的是服務器中mercurial的版本太舊了。我已經更新到HG 3.0.1,現在我可以通過http。

並從Phabricator的task,這有什麼不同版本的善變的事情發生了:

  • 版本1.4到1.8將拒絕中止推:不支持通過HTTP操作。
  • 版本1.9至2.1接受推動。
  • 版本2.2試圖推送時會泄漏此錯誤消息(並且內容不會被推送)。
  • 版本2.3至3.0接受推送。

您可以在Phabricator task T3046中看到相關的任務。

0

擴散用戶指南,Configuring HTTP部分,你可以看到提到的一些要求(這是不是在你的描述,反映

If you plan to use authenticated HTTP, you need to set diffusion.allow-http-auth in Config. If you don't plan to use HTTP, or plan to use only anonymous HTTP, you can leave this setting disabled.

If you plan to use authenticated HTTP, you'll also need to configure a VCS password in "Settings" -> "VCS Password". This is a different password than your main Phabricator password primarily for security reasons.

+0

是的,我已經做到了(我忘了在問題中提到它)。正如我現在所說的,我已經可以克隆它了。 – PhoneixS