我正在寻找一篇简洁而清晰的教程,介绍如何使用 svn:externals。
虽然我自己已经知道如何基本使用它们,但我想要一篇好文章,以便在回答像这样最近出现的问题时可以链接到它:
我可以自己做,但是我不常使用它们,不希望冒险写一篇教程。谷歌在这个主题上令人惊讶地没有提供太多帮助。
我正在寻找一篇简洁而清晰的教程,介绍如何使用 svn:externals。
虽然我自己已经知道如何基本使用它们,但我想要一篇好文章,以便在回答像这样最近出现的问题时可以链接到它:
我可以自己做,但是我不常使用它们,不希望冒险写一篇教程。谷歌在这个主题上令人惊讶地没有提供太多帮助。
如果从上面提供的链接中不清楚,那么设置与特定版本(固定)相关联的 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
您可以按照与值相同的格式,为每个外部链接添加一行。root/repo1/proj/base/common/log.c
root/repo1/proj/base/common/log.h
root/repo1/proj/base/client
root/repo2/proj/test/base
repo2
。
步骤1
目录:/home/jack/repo2/proj/
cd /home/jack
Step2
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
Step4
svn propedit svn:externals repo2
vim 显示:
../repo1/proj/base/client proj/base/client
步骤5:添加另外两个文件
../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