SVN 启动模式(四)

4.启动模式

一、服务端基本配置

  1. 创建版本库目录(例如 /opt/svn

    mkdir /opt/svn
  2. 利用 svnadmin创建具体版本库(例如 runoob

    svnadmin create /opt/svn/runoob
  3. 使用 svnserve启动服务

    svnserve -d -r <目录> --listen-port <端口号>
    • -d:以守护进程(daemon)方式运行
    • -r:指定版本库的根路径(决定了访问方式)
    • --listen-port​:指定监听端口,不指定则默认 3690

二、两种启动模式

根据 -r​ 参数指向的位置不同,分为 单库方式多库方式

1.单库模式

  • 启动命令:直接指向版本库目录

    svnserve -d -r /opt/svn/runoob
  • 特点:一个 svnserve​ 进程只能服务于 一个 版本库。

  • authz 配置示例(位于版本库的 conf/authz):

    [groups]
    admin = user1
    dev   = user2
    
    [/]               # 表示当前版本库的根目录
    @admin = rw
    user2  = r
  • 访问 URL

    svn://192.168.0.1/

    直接访问 runoob 版本库。

2.多库模式

  • 启动命令:指向版本库的 上级目录

    svnserve -d -r /opt/svn
  • 特点:一个 svnserve​ 进程可以服务于 多个 版本库(如 /opt/svn 下的所有版本库)。

  • authz 配置示例(需按库名区分路径):

    [groups]
    admin = user1
    dev   = user2
    
    [runoob:/]        # 指定版本库 runoob 的根目录
    @admin = rw
    user2  = r
    
    [runoob01:/]      # 另一个版本库 runoob01 的根目录
    @admin = rw
    user2  = r

    注:若使用 [/]​ 表示 所有版本库的根目录[/src]​ 表示所有版本库根目录下的 src 目录。

  • 访问 URL(需指定具体版本库名):

    svn://192.168.0.1/runoob

    访问 runoob 版本库。

三、两种模式对比总结

模式 -r 指向 服务库数量 authz 路径写法 URL 示例
单库 具体版本库目录 1 个 [/] 表示该库根目录 svn://IP/
多库 版本库上级目录 多个 [库名:/] 区分不同库 svn://IP/库名

两种方式按需选择:单库配置简单,适合单一项目;多库便于统一管理多个项目。