linux下svn的安装配置和使用

来源:岁月联盟 编辑:exp 时间:2012-02-23
安装环境: centos

一,安装必须的软件包.
        yum install subversion mod_dav_svn
 
二,基本的SVN服务器配置
        1,新建一个目录用于存储SVN所有文件
                # mkdir /home/svn
 
        2,新建一个版本仓库
                # svnadmin create /home/svn/test
 
        3,初始化版本仓库中的目录,导入原始代码
                如果原代码已经有svn的相关文件,则切换到原代码目录,先删除这些svn相关的文件和文件夹。假定/home/user/code/src存放源代码
                # cd /home/user/code/src
                # find ./ -name "*.svn" | xargs rm -rf
                # svn import /home/user/code/src file:///home/svn/test/ -m "init test code"
 
        4,添加用户
                在/home/svn/test/conf/passwd文件添加形如“username=password"的条目。
                [users]
                admin = adminpass
                user1 = 123456
 
         5,修改用户访问策略
                /home/svn/test/conf/authz记录用户的访问策略:
                        [groups]
                        
                        [test:/]
                        admin = rw
                        user1 = r
                        * =
                        
                        [test:/modue]
                        admin = rw
                        user1 = rw
                        * =
                以上表示admin具有所有的读写权限,user1在modue文件夹下可读可写,根目录下只读。也可以配置组的权限。
 
        6,修改/home/svn/test/conf/svnserve.conf文件,让用户和策略配置生效.
                svnserve.conf内容如下:
                        [general]
                        anon-access = none
                        auth-access = write
                        password-db = passwd
                        authz-db = authz
 
        7,启动服务器
                # svnserve -d -r /home/svn
 
        8,测试服务器
                # svn co svn://192.168.1.5/test
                按提示先输入用户密码,再输入svn的用户名、密码,就可以了。
                # cd test
                # vim main.c
                # svn add main.c 
                # svn commit main.c -m "comment"
                Adding         main.c
                Transmitting file data .
                Committed revision 2.  ( 测试提交成功 )
 
三,配置SVN服务器的HTTP支持(可以用浏览器看代码)
        详细配置请参考 http://www.blogjava.net/jasmine214--love/archive/2010/09/26/332989.html
       1,修改httpd.conf,添加关于SVN服务器的内容
                修改/etc/httpd/conf/httpd.conf。
 
        2,重启HTTPD服务器
                # service httpd restart
 
        3,用浏览器访问http://192.168.1.5/test
 
四、可能出现的问题
1. 如果外网不能正常访问,可能还需要作端口映射,对外网开放3690端口。
    检查端口是否打开,可以用命令: telnet xxx.xxx.xxx.xxx 3690
 
2. 在windows下checkout的时候,如果出现类似以下的错误:
/
原因是linux下有同名但大小写不同的文件。一种解决办法是尽量避免这种情况,改成不同的名称。