【问题标题】:Cannot clone mercurial server from http URL无法从 http URL 克隆 mercurial 服务器
【发布时间】:2016-05-30 04:11:38
【问题描述】:

我可以通过 SSH 连接从一个 mercurial 存储库克隆我的项目。

hg clone --debug ssh://user@192.168.0.4/mercurial/MyAndroidStudioProject

但我无法通过 HTTP 连接克隆同一个项目。

hg clone --debug http://192.268.0.4:8888/MyAndroidStudioProject/

此日志后进程挂起。

using http://192.268.0.4:8888/MyAndroidStudioProject/
sending capabilities command
destination directory: MyAndroidStudioProject
query 1; heads
sending batch command
requesting all changes
sending getbundle command

我可以从 Web 浏览器访问此 HTTP URL,但无法从终端和 AndroidStudio 克隆。我可以知道这个问题的根本原因,我该如何解决?谢谢。

【问题讨论】:

    标签: macos mercurial


    【解决方案1】:

    您如何从服务器为您的存储库提供服务?听起来您可能正试图通过常规的 Apache 服务访问它,这不会只是工作。服务器必须能够响应特定于 mercurial 的请求(例如您的日志中的 getbundle),这需要您进行一些设置。

    通过 HTTP 提供 repo 的最简单方法:使用 SSH 登录到您的服务器,cd 到您的 repo 并输入 hg serve。这足以通过 HTTP 进行克隆,尽管您可能不想让它长期运行——而且它只会给您只读访问权限。有关更多功能,请参阅 Mercurial 书中的 Serving over HTTP using CGI 部分。这听起来不像是小菜一碟,所以我的建议是找到另一种方法来完成你的工作。

    Mercurial 书在this chapter 中详细讨论了您的选择。

    【讨论】:

    • 感谢您的回答。我已经找到了解决方案,这是因为办公室防火墙设置阻止了此活动。因此,我无法通过 http 连接克隆项目。谢谢。
    猜你喜欢
    • 2019-02-17
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多