【问题标题】:How to get started with svn:externals?如何开始使用 svn:externals?
【发布时间】:2010-10-14 08:54:58
【问题描述】:

我正在寻找关于使用 svn:externals 的简洁且编写良好的教程。

我自己已经知道如何以基本方式使用它们,但我想要一篇好文章,在回答最近出现的此类问题时可以链接到:

What to do with multiple projects depending on the same source?

我自己会做,但我使用它们的频率不够高,以至于想伸出脖子写一篇教程。谷歌对这个话题毫无帮助。

【问题讨论】:

    标签: svn tortoisesvn externals


    【解决方案1】:

    以下是 svnbook / TortoiseSVN 手册中有关它的一些部分:

    This 是 svn:externals 上的 svnbook 页面。这是该主题最有用的资源。

    This one 解释了在工作流中包含子项目的四种方法(在此过程中遗漏了第五种方法:符号链接)。

    this last one 是一个 TortoiseSVN 特定页面,介绍如何在存储库中导入内容(与 svn:externals 没有直接关系)。

    【讨论】:

      【解决方案2】:

      如果从上面提供的链接中不清楚,您设置与特定修订(固定)相关的 svn:externals 属性的方式,这里是:

      svn propset svn:externals "plugins -r12345 https://svn.example.com/common/plugins" extras
      

      这将在extras 目录下创建一个plugins 子目录,并将其链接到外部SVN URL https://svn.example.com/common/plugins 的修订版12345

      有一篇 Red Bean 文章建议使用 propedit,因为 svn:externals 可以是多行值。上面的示例将更改为使用propedit

      svn propedit svn:externals extras
      

      然后,您将为每个外部链接添加一行,格式与上面显示的值相同。

      【讨论】:

        【解决方案3】:
        root/repo1/proj/base/common/log.c
        root/repo1/proj/base/common/log.h
        root/repo1/proj/base/client
        
        root/repo2/proj/test/base
        

        如上图,我们要复制2个文件和1个目录到repo2

        第一步

        目录:/home/jack/repo2/proj/

        cd /home/jack
        

        第二步

        svn propset svn:externals "../repo1/proj/base/client proj/base/client" repo2
        

        类似:ln repo1/proj/base/client repo2/proj/base/client

        第三步

        export SVN_EDITOR=vim
        

        第四步

        svn propedit svn:externals repo2
        

        vim 显示:

        ../repo1/proj/base/client proj/base/client

        Step5:添加另外两个文件

        ../repo1/proj/base/client proj/base/client
        ../repo1/proj/base/common/log.c proj/base/common/log.c
        ../repo1/proj/base/common/log.h proj/base/common/log.h
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-03-31
          • 1970-01-01
          • 2011-09-08
          • 2010-09-07
          • 2011-03-29
          • 2019-03-17
          相关资源
          最近更新 更多