Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial:两个独立的回购协议有些关联(是的,我感到困惑)_Mercurial_Cvs_Repository - Fatal编程技术网

Mercurial:两个独立的回购协议有些关联(是的,我感到困惑)

Mercurial:两个独立的回购协议有些关联(是的,我感到困惑),mercurial,cvs,repository,Mercurial,Cvs,Repository,我有一个本地存储库,我们称之为本地存储库。一个是实际的程序。这是一个安卓程序,以防出于某种原因它很重要 我有一个远程存储库,我们称之为EXT。EXT有点像一个库,由一个人使用 其中一个有一个复杂的目录结构,由android授权。主要来源于src/bla/bla/ONE。因为其中一个使用EXT,所以我必须在该目录旁边创建另一个目录,即src/bla/bla/EXT 我想我希望将它们分开放在两个存储库中,但我需要它们实际位于相同的目录结构中才能编译一个 目前,我只是创建了一个符号链接来实现这一点,但

我有一个本地存储库,我们称之为本地存储库。一个是实际的程序。这是一个安卓程序,以防出于某种原因它很重要

我有一个远程存储库,我们称之为EXT。EXT有点像一个库,由一个人使用

其中一个有一个复杂的目录结构,由android授权。主要来源于src/bla/bla/ONE。因为其中一个使用EXT,所以我必须在该目录旁边创建另一个目录,即src/bla/bla/EXT

我想我希望将它们分开放在两个存储库中,但我需要它们实际位于相同的目录结构中才能编译一个


目前,我只是创建了一个符号链接来实现这一点,但我想知道是否有更好的方法来实现这一点,即使用一些hg功能。

子存储库非常适合这样做。请看一看。

子存储库非常适合这一点。看看。

使用。例如:

$ git init ONE-proj
$ cd ONE-proj
$ mkdir -p src/bla/bla/ONE
$ ... # commit your initial project files for ONE
$ echo src/bla/bla/EXT = /path/to/hg/repository/EXT > .hgsub
$ hg add .hgsub
$ hg clone /path/to/hg/repository/EXT src/bla/bla/EXT
$ hg commit
使用。例如:

$ git init ONE-proj
$ cd ONE-proj
$ mkdir -p src/bla/bla/ONE
$ ... # commit your initial project files for ONE
$ echo src/bla/bla/EXT = /path/to/hg/repository/EXT > .hgsub
$ hg add .hgsub
$ hg clone /path/to/hg/repository/EXT src/bla/bla/EXT
$ hg commit

我不是这方面的专家,但我认为子存储库在这种情况下不起作用

您有两个具有相同深度嵌套目录结构的项目:

Compile Project
    /src
        /bla
            /bla
                /ONE
                /EXT
项目一:

ONE
    /src
        /bla
            /bla
                /ONE
项目分机

EXT
    /src
        /bla
            /bla
                /EXT
编译这些项目时,需要以下结构:

Compile Project
    /src
        /bla
            /bla
                /ONE
                /EXT
或者类似的东西-基本上两个源树都合并在一个src下

由于您无法签出存储库的一部分,因此无论您在何处创建子存储库,都将获得完整的EXT目录。因此,如果您在一个次级回购旁边进行次级回购,您将得到:

Combined Project
    /src
        /bla
            /bla
                /ONE
                /src
                   /bla
                       /bla
                           /EXT
你想要的是一个不存在的部分克隆

我认为操作系统链接是最好的选择


希望这有帮助。

我不是这方面的专家,但我认为子存储库在这种情况下不起作用

您有两个具有相同深度嵌套目录结构的项目:

Compile Project
    /src
        /bla
            /bla
                /ONE
                /EXT
项目一:

ONE
    /src
        /bla
            /bla
                /ONE
项目分机

EXT
    /src
        /bla
            /bla
                /EXT
编译这些项目时,需要以下结构:

Compile Project
    /src
        /bla
            /bla
                /ONE
                /EXT
或者类似的东西-基本上两个源树都合并在一个src下

由于您无法签出存储库的一部分,因此无论您在何处创建子存储库,都将获得完整的EXT目录。因此,如果您在一个次级回购旁边进行次级回购,您将得到:

Combined Project
    /src
        /bla
            /bla
                /ONE
                /src
                   /bla
                       /bla
                           /EXT
你想要的是一个不存在的部分克隆

我认为操作系统链接是最好的选择


希望这能有所帮助。

+1用于次级回购。这里有一个关于hg次级回购的例子。次级回购+1。这里有一个关于hg subrepos的例子。这个有用吗?你会不会在src/bla/bla/ONE中有一个,在src/bla/bla/ONE/src/bla/bla/bla/EXT中有一个EXT?这些命令都是在存储库的根目录下执行的,所以一切都与之相关。这行吗?你不会在src/bla/bla/ONE中有一个命令,在src/bla/bla/ONE/src/bla/bla/EXT中有一个EXT吗?这些命令都是在存储库的根目录下执行的,所以一切都与之相关。哦:谢谢。顺便说一句,它甚至比这更复杂:一个项目还包括树上的文件。哦:谢谢。顺便说一句,它甚至比这更复杂:一个项目还包括树中上层的文件。