Sign inSign up

hugohao/subversion

By hugohao

Updated about 8 years ago

hugohao/subversion

Image
0

132

hugohao/subversion repository overview

svn 是一种集中式版本管理系统。最新文件存储在服务器上,用户需要先从服务器下载(检出)最新文件,修改后再提交到服务器。版本信息也是放在服务器上,如果连接不上服务器,则无法提交、还原、对比等操作。 优点是符合一般的思维逻辑,适合做团队内部文档共享、管理系统。

1.下载镜像与运行容器

docker run --name svn \
    --detach \
    --volume /data:/var/opt/svn \
    --publish 3690:3690 \
    hugohao/subversion

以上命令运行的镜像是 hugohao/subversion,如果本地没有则会下载。

2.创建新的仓库

docker exec -it svn svnadmin create repo1

创建一个名为 repo1 的仓库。查看其对应的文件目录,包含如下文件:

    ls /data
    conf    db    format    hooks    locks    README.txt

3.修改配置文件

仓库路径下 conf 为配置文件目录,有以下文件:

    ls  ./repo1/conf
    authz    hooks-env.tmpl    passwd    svnserve.conf

修改 svnserve.conf

    [general]
    anon-access = none             # 匿名用户不可读写,也可设置为只读 read
    auth-access = write            # 授权用户可写
    password-db = passwd           # 密码文件路径,相对于当前目录
    authz-db = authz               # 访问控制文件
    realm = /var/opt/svn/repo1     # 认证命名空间,会在认证提示界面显示,并作为凭证缓存的关键字,可以写仓库名称

配置账号与密码,修改 passwd,格式为 “账号 = 密码”

    [users]
    # harry = harryssecret
    # sally = sallyssecret
    eric = 123456

配置权限,修改 authz

    [groups]
    owner = eric, user1
    [/]             # / 表示所有仓库
    eric = rw       # 用户 eric 在所有仓库拥有读写权限
    [repo1:/]           # 表示以下用户在仓库 repo1 的所有目录有相应权限
    user1 = rw
    @owner = rw         # 表示 owner 组下的用户拥有读写权限

说明:r 表示读,w 表示写。没有设置的用户默认为无权限。
注意:更改 svnserve.conf,authz 和 passwd 文件时不需要重启。

Tag summary

Content type

Image

Digest

Size

6.3 MB

Last updated

about 8 years ago

docker pull hugohao/subversion