【问题标题】:hg serve for subreposhg 为 subrepos 服务
【发布时间】:2012-10-06 00:34:56
【问题描述】:

我有一个带有子回购的回购,并且想做hg serve

在其他电脑上,我试过了

hg clone http://address:8000/ new_repo

场景 1:当我的原始仓库在 .hgsub 中包含以下形式的行时:

sub_repo_1 = sub_repo_1
sub_repo_2 = sub_repo_2

我在其他电脑上:

Requesting all changes
adding changesets
adding manifests
...
updating to branch default
abort: HTTP Error 404: Not Found

(服务计算机在那之后只是等待)

(并且只有 new_repo 中的 sub_repo_1。我尝试过更新、拉取...但有错误)

我尝试实际单独克隆 sub_repo_2,并不断收到错误 404(发送和接收计算机上的机器人)。

场景 2:当我将 .hgsub 中的行替换为

时,发生了同样的事情
sub_repo_1 = http://address/sub_repo_1
sub_repo_2 = http://address/sub_repo_2

hg serve 无法为 subrepos 提供服务吗?或者 - 我做错了什么?

注意:我每次都更新了子存储库中的 hgrc 文件以匹配 .hgsub 中的路径。

【问题讨论】:

  • 我也想这样做。我正在考虑破解 hg serve?!?!

标签: mercurial webserver subrepos


【解决方案1】:

您可以使用 TortoiseHG 为具有子存储库的存储库托管一个 mercurial 服务器。 TortoiseHG 实际上使用它创建的不同 web.config 文件调用 hg serve。

要使用 TortoiseHG 托管,请转到 TortoiseHG Workbench 中的 Repository -> Web Server...。

【讨论】:

    【解决方案2】:

    hg serve 与子存储库一起使用。问题是 hg serve 不会自动识别您的仓库包含子仓库。

    假设有以下文件夹结构

    - repo
      - subrepo1
        + file1.txt
      - subrepo2
        + file2.txt
        + file3.txt
    

    其中repo是主仓库,subrepo1subrepo2repo的两个子仓库:

    1. repo 中创建一个 Web 配置文件。 不要在版本控制中添加。我将其命名为 .hgwebconf,如果您愿意,可以更改名称。
    2. 在此文件中配置子存储库的所有路径。添加以下内容:

      [paths]
      /repo = ./* #all repos will be known by the url /repo
      /repo/subrepo1 = subrepo1 #adding subrepo1 to be available in hg serve
      /repo/subrepo2 = subrepo2 #similar to above
      
    3. 使用--web-conf 属性执行hg serve 以使用为路径创建的Web 配置文件。这是一个例子:

      hg serve --web-conf .hgwebconf <other configurations you use ...>
      

    就是这样。现在您可以通过 http 访问您的服务器,克隆您的存储库或任何子存储库并使用它。

    【讨论】:

    • 我经常反对让 subrepos 与 hg serve 一起工作。我不敢相信解决方案如此简单。非常感谢!
    【解决方案3】:

    我正在使用HgService 来托管存储库,这是我发现的有效解决方案。

    如果您使用的是HgService,则需要编辑web.config 文件并重新启动服务。

    如果web.config 中的[paths] 是这样设置的:

    [paths]
    remote_repo = "path/to/remote_repo"
    

    像这样将双星 (**) 添加到路径中:

    [paths]
    remote_repo = "path/to/remote_repo/**"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多