建立服务器
- 下载 SVN
- 解压缩到任意路径假设为 %SVN%
- 最好将 SVN 的目录添加到 path 变量。假设已经添加
- 运行 svnadmin create E:/SVN/SVN-Resposites ( 该目录为要建立的版本库的路径 )
- 运行 svnserve -d -r E:/SVN/SVN-Resposites ( 命令行停留在此处。服务已经提供鸟。此时可以使用SVN Client 访问 svn://127.0.0.1/ )
ps: 5中,如果目录名输入错误,虽然服务能够运行,但是不能正确访问。
修改访问控制
修改 E:/SVN/SVN-Resposites/conf/svnserve.conf 可进行访问控制。
其中:
- anon-access = none 此项对应匿名用户访问权限。none:拒绝 read: 读取 write: 写入
- auth-access = write 此项对应验证用户访问权限。同上
- password-db = passwd 用户密码文件设定。注释后默认为没有验证用户
- authz-db = authz 用户详细ACL文件设定。注释后则将 anon-access 和 auth-access 应用到全局
- realm = UATeamTest 领域。指定一个项目库名称。注释后默认为 uuid
在 E:/SVN/SVN-Resposites/conf/passwd 中 添加用户名称和密码。格式如下:
- rodin = rodin 前用户名,后密码
为Web项目自动发布文件
- 在E:/SVN/SVN-Resposites/hooks 中 找到 post-commit.tmpl , 复制为 post-commit.bat
- 修改内容为: svn update E:/SVN/WebRoot --username slawdan --password slawdan ( 其中 E:/SVN/WebRoot 是要检出到的web 目录 )
ps : *nix 系统下,应该将该脚本名命名为 post-comit
补充
- 将SVNServe 安装为系统服务
- E:/SVN/SVN-Serv/bin>sc create svnserve binpath= "e:/svn/svn-serv/bin/svnserve.ex
e --service --root e:/svn/svn-reposites" displayname= "Subversion" depend= tcpip
start= auto - 需要注意参数中=号后面的空格是必须有的~~
- E:/SVN/SVN-Serv/bin>sc create svnserve binpath= "e:/svn/svn-serv/bin/svnserve.ex
- 设置LANG=zh_CN.UTF8和APR_ICONV_PATH=svn安装目录/iconv,来解决在中文win下cmd中svn的乱码问题
- 未尝试……