如何在repos之间创建SVN链接

时间:2014-08-09 19:39:29

标签: svn tortoisesvn svn-externals

关于我正在做什么的一些背景信息

我使用Altium Designer进行PCB设计,我想设置特定文件夹结构的文件夹。

Template
    FolderA
        Folder_common_a
        Folder_common_b
        FolderC
        FolderD        
    FolderE
        Folder_common_a
        Folder_common_b
        FolderC
        FolderD

Folder_common_a和Folder_common_b对于Template的所有子文件夹都是通用的。它们将始终包含完全相同的文件和文件夹。它们将包含任何项目所需的必要文件。当然我可以创建一个副本,但如果我要更改某些内容或在这些文件夹中添加内容,那么我需要将这些文件夹重新复制到每个子文件夹中。现在还可以,但是这个列表会增长,实际上这样做会变得更加痛苦。

我想要的是将folders_common_a和folders_common_b分开并将它们链接到子文件夹中。这样,如果我更改了某些内容,下次有人检查他们需要的合适模板时,这些文件/文件夹将与最新的最新文件/文件夹保持同步。

我对SVN相当新,我基本上只是结帐并提交。没有什么比这更重要了。

任何方式我都可以将回购链接链接到另一个仓库,这样当我签出模板时,我也会检查公共文件夹仓库吗?

2 个答案:

答案 0 :(得分:2)

将SVN属性 svn:externals 添加到父文件夹:

FolderA
FolderE

并为每个媒体添加新目标(本地路径 - >网址):

Folder_common_a -> file:///C:/somewhere
Folder_common_b -> file:///C:/somewhere

提交已更改的SVN属性。

在下一次结帐/更新时,您应该会收到链接的文件夹内容。

更多详情:How to get started with svn:externals?

答案 1 :(得分:2)

它在SVN世界技术中广为人知并广泛使用 - SVN externals

你可以在外面的地方创造"正常"树这两个(真实)文件夹包含内容,并作为文件夹安装到任何其他位置任何时间。

Externals

这张照片上的

lib就是这样的外部,链接到另一个存储库中的文件夹。你可以自由结账externals playground并使用它(参见/ tags样本)

父物理文件夹中的所有更改都将显示在逻辑文件夹中

您无法在手工创建的父文件夹中自动显示Folder_common_a + Folder_common_b,但这是一个带有永久数据文件的单svn propset -F ...的问题,用于外部定义