如何开始使用 svn:externals?

问题描述 投票:0回答:3

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

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

如何处理依赖于同一来源的多个项目?

我会自己做,但我使用它们的频率不够高,以至于我不想花时间写一篇关于它的教程。 令人惊讶的是,谷歌对这个话题没有提供任何帮助。

svn tortoisesvn externals
3个回答
49
投票

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

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

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

最后一个

是一个特定于TortoiseSVN的页面,介绍如何在存储库中导入内容(与 svn:externals 不直接相关)。


23
投票
svn:externals

属性的方式,这里是:

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

这将在 
plugins

目录下创建一个

extras
子目录,并将其链接到外部 SVN URL
12345
的修订版
https://svn.example.com/common/plugins
有一篇红豆文章建议使用

propedit

,因为

svn:externals
可以是多行值。上面的示例将更改如下以使用
propedit
svn propedit svn:externals extras

然后,您可以按照与上面所示的值相同的格式为每个外部链接添加一行。


0
投票
如上所示,我们要复制2个文件和1个目录到
repo2


步骤1

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

cd /home/jack
步骤2

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


步骤3

export SVN_EDITOR=vim
步骤4

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
	
© www.soinside.com 2019 - 2024. All rights reserved.