我有 3 个客户,FirmA
,FirmB
和FirmC
。在目录下,/srv
我创建了三个子目录 ,FirmA
它将FirmB
充当FirmC
每个公司的 svn 根目录。在 svn 根目录中,我通过命令为FirmA
三个存储库(每个项目一个)、FirmB
五个存储库(每个项目一个)和 2 个存储库FirmC
(每个项目一个)创建了svnadmin create
。每个公司只能访问自己的颠覆根目录。现在,我如何配置svnserve
通过FirmA
端口 3690、FirmB
通过 3692 和FirmC
通过端口 3692 访问其项目?我可以svnserve
使用不同的端口参数运行多次吗?如何将它们配置为在启动时运行?我在用Ubuntu Server 14.10
。
最后一个问题:我已经签出了(在目录下有进入我的工作站的project1
完整路径,并且签出没问题,但是在目录中我得到了整个目录结构(源代码驻留在里面而不是。为什么?!/srv/svn_firmA/project1
test
test
/home/user/working_copy_firmA_project1/test/srv/svn_firmA/project1
/home/user/working_copy_firmA_project1
答案1
- 您必须运行 3 个 svnserve 实例,
-r
并且--listen-port
参数至少不同 - checkout 不可能构建这么长的树,除非这样的目的地是手动指定的(或者如果
/srv
是真正的存储库根)svn co
如果省略 PATH,则 URL 的基本名称将用作目标。
因此:
cd /home/user/working_copy_firmA_project1/test
svn co /srv/svn_firmA/project1
必须project1
立即仅添加子目录test