将多个文件夹链接到一个文件夹,以便相对路径可以工作。(Fedora)

将多个文件夹链接到一个文件夹,以便相对路径可以工作。(Fedora)

我有一个 SVN 存储库,其结构与所需的相对构建路径不一致。

SVN 仓库目录看起来是这样的

    • α
      • 树干
        • p1
        • p2
        • p3
      • 标签
      • 分支
    • 好极了
      • 树干
        • p4
        • p5
        • p6
      • 标签
      • 分支

我需要的构建目录结构是

    • p1
    • p2
    • p3
    • p4
    • p5
    • p6

我希望能够单独保留 SVN 结构,主要是因为我没有真正的能力来调整它。我还希望如果将另一个东西添加到主干中,比如 alpha 中的 p7,则构建目录会自动将其添加到其中。为了使构建工作正常,我需要能够从 p1 内部发出命令,例如 cd ../p2/ 并将其移动到 p2 文件夹中。

我认为某种形式的链接是我需要的途径,但我有点不知道如何解决这个问题。

提前致谢。

答案1

实现此目的的一种方法是(仅使用 SVN)在根目录下创建第三个项目,将其称为“build”。如果您愿意,它可以像往常一样拥有主干、标签和分支。在“build”项目中,您可以保留 makefile 或其他内容,但大多数情况下,“build”只会有一个 svn:externals 规则来提取所有必需的组件(以及适当的修订版本)。然后,您可以创建任何您喜欢的目录结构,同时保留正常的存储库位置。

这种方法的一个很大的缺点是,在提交更改之前构建更改变得更加困难。但是,如果需要拉入 HEAD 而不是特定修订版本,您仍然可以通过在“构建”工作副本之外处理更改并对 svn:externals 进行临时修改来实现这一点。

相关内容