我们有一个名为“nagios”的存储库,其下具有以下路径:
common/nagios/etc
common/nagios/objects
FTW/nagios/etc
FTW/nagios/etc/objects
DAL/nagios/etc
DAL/nagios/etc/objects
如您所见,“common”、“DAL”和“FTW”下面的目录结构是相同的。
我希望能够首先签出(而不是导出)“常用”路径,例如(cd /usr/local):
svn co http://foobar/repo/nagios/common/nagios nagios
然后,根据我所在的客户端站点(服务器),检查该站点的特定文件,例如:
svn co http://foobar/repo/nagios/FTW/nagios nagios
这给了我错误: svn: 'nagios' 已经是不同 URL 的工作副本
注意:“commmon”和“FTW”(或“DAL”)之间没有相同/重叠的文件
我尝试了几种方法来完成这一点,包括使用“svn:externals”(这让我很接近,但在现有的目录结构下创建了一个新的目录结构 - ../nagios/nagios/etc/...)。
此处的目标是将每个站点共有的所有文件维护在一个位置,并将站点特定文件保存在存储库中它们自己的每个目录中,并能够将公共文件和站点特定文件检出到相同的位置工作目录路径。