Linux上装配subversion手记
Linux上安装subversion手记AuthUserFile /home/svnroot/repository/authfile // 用户配置文件?Require val
Linux上安装subversion手记
AuthUserFile /home/svnroot/repository/authfile // 用户配置文件?
Require valid-user //采用何种认证?
</Location>
//其中authfile是通过
"htpasswd [–c] /home/svnroot/repository/authfile username password"
//来创建的?
//"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,
//则只能第一个用户可以访问新建库
重启apache
# ./usr/local/apache2/bin/apachectl restart?
//打开浏览器访问http://localhost/svn/test/,如果有东?西显示就说明成功。
权限管理1)增加用户- htpasswd [-c] /home/svnroot/repository/authfile wooin
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,
//完成对用户 的增加
# htpasswd authfile 用户名(加入新的用户)
2)权限分配- vi /home/svnroot/repository/authz.conf?
[test:/] //这表示,仓库test的根目录下的访问权限?
wooin = rw //test仓库wooin用户具有读和写权限?
bao = r //test仓库bao用户具有读权限?
[test2:/] //test2仓库根目录下的访问权限?
wooin = r //wooin用户在test2仓库根目录下只有读权限?
bao = //bao用户在 test2仓库根目录下无任何权限?
[/] //这个表示在所有仓库的根目录下?
* = r //这个表示对所有的用户都具有读权限?
#[groups] //这个表示群组设置?
#svn1-developers = wooin, bao //这个表示某群 组里的成员?
#svn2-developers = wooin?
#[svn1:/]?
#@svn1-developers = rw //如果在前面加上@符号,则表 示这是个群组权限设置?
将这个设置完成后。重启Apache,就可以通过?
http://localhost/svn/test?
这个URL来访问仓库了,当然,受权限的限制,必须是合法用户才能访问且具有相应的权限
一些备忘:1.//创建仓库"test"- ./svnadmin create /home/svnroot/repository/test
# cd /home/svnroot/repository/test
创建仓库后,将权限放大 chmod -R 777 /home/svnroot
2.Import files
//这条语句将把路径/home/user/import下找到的文件导入到你创建的 Subversion 仓库中去,
//提交后的修订版为1。
# ./svn import /home/user/import file:///home/svnroot/repository/test –m "注释"
或直接用客户端的导入工具.
3.客户端通过IE打开svnserver
http://172.16.251.42/svn/test
svn://172.16.251.42/test
4.启动SVN
启动: svnserve -d -r /home/svnroot/repository/test 这是启动单库的SVN
如果有多库的话,可以用这个命令:svnserver -d -r /home/svnroot/repository
命令执行后可以用 ps -ed | grep svnserve 查看svnserve服务是否已经启动
还可以用 netstat -ant | grep 3690 查看3690端口是否已经被监听
5.创建授权用户- htpasswd [-c] /home/svnroot/repository/authfile wooin
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,
//完成对用户 的增加
# htpasswd authfile 用户名(加入新的用户)
6.重新部署SVN仓库
需要将目前的某个仓库导出,并导入到另一个仓库(可以导入到该仓库的指定目录下),
要用到以下的命令:
// 导出所有版本到stn.dump文件中
# svnadmin dump /home/svnroot/sonatina/ > stn.dump
// 或者也可以只导出其中一个版本
# svnadmin dump /home/svnroot/sonatina/ --revision 10 > stn.r10.dump
// 或者也可以导出多个版本,比如0-10版本
# svnadmin dump /home/svnroot/sonatina/ --revision 0:10 > stn.r0-10.dump
// 导入到sonatinab/trunk目录下,如果不指定--parent-dir,则会导入到根目录sonatinab/下
# svnadmin load /home/svnroot/sonatinab/ --parent-dir trunk < stn.r0-10.dump