![ubuntu 上的 Subversion 服务器具有多个存储库和结账问题](https://linux22.com/image/62924/ubuntu%20%E4%B8%8A%E7%9A%84%20Subversion%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%85%B7%E6%9C%89%E5%A4%9A%E4%B8%AA%E5%AD%98%E5%82%A8%E5%BA%93%E5%92%8C%E7%BB%93%E8%B4%A6%E9%97%AE%E9%A2%98.png)
我有 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