代码之家  ›  专栏  ›  技术社区  ›  Rob

SVN结帐问题

svn
  •  3
  • Rob  · 技术社区  · 16 年前

    我将转向SVN作为我的RCS选择(使用CVS多年后),并有一个基本问题…

    我有许多共享的项目-代码,我想与许多不同的项目一起使用。是否可以将这些共享文件夹“链接”到需要它们的项目,因此签出项目也将签出共享代码?

    例如,假设我的存储库如下所示:


    --项目1
    --项目2
    --共享
    ——SMTP

    当我签出项目1时,我还希望签出共享和SMTP。

    在我的cvs时代,我会在其中一个项目文件夹中使用一个Unix符号链接,但是由于我的新SVN存储库不一定托管在Unix设备上,所以我不能这样做。

    6 回复  |  直到 16 年前
        1
  •  11
  •   davr    16 年前

    SVN外部是您想要做的。SVN的书很详细地解释了这一点。 here . 这是我喜欢SVN的一件事,它是一个很棒的文档。

        2
  •  2
  •   jamuraa    16 年前

    您正在查找“svn:externals”属性。见 this Svnbook部分:

    在要在其中使用共享项目的项目下,然后在该目录上设置名为“svn:externals”的属性。此属性包含包含外部响应的目录的名称,并且可以具有一些其他选项,以便始终获得相同的修订版。

    示例(来自SVNBOOK,这是SVN问题的极好参考):

    $ svn propget svn:externals calc
    third-party/sounds             http://svn.example.com/repos/sounds
    third-party/skins -r148        http://svn.example.com/skinproj
    third-party/skins/toolkit -r21 http://svn.example.com/skin-maker
    

    在本例中,第三方/声音将从 http://svn.example.com/repos/sounds . -rnnn将签出绑定到一个修订版,这样如果您正在进行更多的开发,就可以确保其他项目不会随机中断。通常情况下,我不做这个修改,而是在一个包含稳定版本的标签之外进行修改。

        3
  •  0
  •   Greg Rogers    16 年前

    这就是SVN“外部”的作用。

        4
  •  0
  •   Dan Dyer    16 年前

    是的,看看 SVN Externals .

        5
  •  0
  •   EfForEffort    16 年前

    是的,这种机制被称为“外部性”。见 the book .

        6
  •  0
  •   machineghost tomaszbak    16 年前

    SVN有一个称为“externals”的特性,基本上与符号化的Unix链接的工作方式相同(您将存储库中某个位置的某个目录指向存储库中其他位置的某个目录)。

    有关如何设置外部的详细信息,请参见: http://svnbook.red-bean.com/en/1.0/ch07s03.html

    希望有帮助。