【问题标题】:How to set up a mercurial repository which contains only some packages from different subrepositories projects?如何设置一个仅包含来自不同子存储库项目的一些包的 mercurial 存储库?
【发布时间】:2011-09-11 18:09:03
【问题描述】:

我有一个名为http://myrepo的远程存储库

我还有 3 个项目,其中 3 个不同的包(每个包 1 个)存储在 D:/Projects/Project[ABC]/src/pack[ABC] 中。

我想在D:/Mercurial 中创建一个本地存储库,它将引用包pack[ABC] 作为子存储库,这些子存储库将被推送到我的远程存储库。

最后,我想将我的包存储在我的远程仓库中,以便您阅读 http://myrepo/pack[ABC],它们应该反映在 D:/Projects/Project[ABC]/src/pack[ABC] 中所做的更改。

我无法管理你将我的子存储库推送到我遥远的那个。如何设置这样的东西?

【问题讨论】:

    标签: mercurial subrepos mercurial-subrepos


    【解决方案1】:

    您应该能够在顶级仓库的 .hgsub 中将您的子仓库配置为:

    LocalPathA = http://server/A

    LocalPathB = http://server/B

    LocalPathC = http://server/C

    然后,在服务器上,您将必须创建空存储库(具有适当的权限)A、B、C

    您的本地存储库 A、B、C 需要设置它们的 [paths] default=http://server/A 等。

    用于潜艇的 hgrc

    [paths]
    default = source repo
    

    hgsub 用于周围的仓库

    protocol://servername//absolute/path/to/repo = relative/path/from/surrounding/repo/root

    【讨论】:

    • 我收到以下消息:D:\Projects>hg commit -m "Adding subrepositories" abort: The syntax of the filename, directory or volume is incorrect: D:\Projects\http://myrepo/B
    • Ow OK...我刚刚注意到最后一部分,我会试试看!
    • 我在我的 repos D:/Projects/Project[ABC]/src/pack[ABC] 的 hgrc 文件中添加了 [paths] default = http://myrepo/[ABC]。我仍然得到同样的错误
    • 我将https://mydistantrepo/[ABC] = D:/Projects/Projact[ABC]/src/pack[ABC] 放在我的主repo .hgsub 和[paths] default = D:/Projects/Project[ABC]/src/pack[ABC] 在我的项目的.hgrc 中,我仍然有相同的pb:Mercurial 尝试将远程URL 添加到我当前的CMD 目录.有些东西我还没有到达那里......
    • @user:你必须在 hg sub 中使用相对于你的 repo root 的路径。我真的建议你在这里学习 hg 手册页。
    猜你喜欢
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 2019-09-11
    • 2016-06-15
    • 2011-02-21
    相关资源
    最近更新 更多