首页 > 代码库 > 版本管理器subversion的简单配置以及和apache的结合使用

版本管理器subversion的简单配置以及和apache的结合使用

       linux下subversion+apache的配置我在网上看过很多关于subversion配置的blog,但是按照其

上操作并不能成功配置,也讲的不是很清楚。在此向大家推荐《使用Subversion进行版本控制》一书,网上有中文电子档,该书对subversion有很详细的介绍,感兴趣的朋友可以去看一下。这里我只介绍subversion基本使用方法,以及和apache的结合。

       1.基本使用方法

        svn 命令行客户端程序

        svnversion 此工具用来显示工作拷贝的状态

        svnlook 直接查看subversion版本库的工具

        svnadmin 建立,调整和修复subversion版本库的工具

        svndumpfilter 过滤subversion版本库转储数据流的工具

        svnserver 一个单独的服务器程序,可以作为守护进程或由ssh调用,这是另一种使版本库可以通过网络访问的方式

        svnsync 一个通过网络增量镜像版本库的程序

        svnadmin create /mnt/websvn #创建版本库websvn

        svn import myfile file:///mnt/websvn/hello #将末版本化文件导入版本库的最快方法,会跟据需要创建中介目录

        wKiom1PZ-XWj1ZeQAABNoCp-XTQ251.jpg

        svn list file:///mnt/websvn/hello #列出版本库中的文件

        wKioL1PZ-qTDSI3tAAAajSf5VCg377.jpg

        svn checkout file:///mnt/websvn/hello #将版本库中的最新版本文件存储在本地,执行后本地会生成一个hello文件夹(也叫工作拷贝),-r +版本号,可以取出指定版本号的工作拷贝,eg:svn

checkout -r 4 file:///mnt/websvn/hello

        wKioL1PZ-ubgZ44vAABAnsA3BzU351.jpg

        svn checkout file:///mnt/websvn/hello /tmp/hello     #将版本库中的最新版本文件存储在本地指定的地方

        svn update #更新你的工作拷贝与最新的版本同步svn add/delete/copy/move #作出修改

        svn status/diff (-v) #检验修改

            A 表示预定加入到版本库的文件,目录或符号链

            C 表示文件发生冲突,在从服务器更新时与本地版本发生交迭

            D 表示文件,目录或是符号链从版本库中删除

            M 表示文件内容被修改了

        svn revert file #取消对file的一些修改

        svn commit -m "txt"     #提交你的更改到版本库,当你提交修改时,你需要提供一些描述修改的一些日志信息,你的信息会附到这个修订版本上,-m选项就是用来提供这种信息

        svn log     #提供你一条记录,包括:谁对文件,目录做了修改,哪些修订版本做了修改,修订版本的日期和时间,还有你当时提供的日志信息

##########以上为svn的常用命令行操令#############

##########一下为svn+apache的配置##############
1.安装软件
    yum install subversion mod_dav_svn httpd -y

2.配置apache

    cd /etc/httpd/conf.d/

    vim subversion.conf

        LoadModule dav_svn_module     /etc/httpd/modules/mod_dav_svn.so

        LoadModule authz_svn_module   /etc/httpd/modules/mod_authz_svn.so    

         <Location /svn> #apache代理所有url路径部分为/svn的请求到svn的提供者DAV
          DAV svn
          SVNPath /mnt/hello/websvn       #注意路径
          AuthType Basic
          AuthName "Authorization Realm"
          AuthUserFile "/etc/httpd/conf.d/authsvn" #基于httpd认证
          Require valid-user
        </Location>
    wKiom1PZ-emyxWL1AAFlf56zZ2Q041.jpg      

htpasswd -cm /etc/httpd/conf.d/authsvn test (输入2次密码) #生成认证文件

3.配置subversion

     mkdir dir;cd dir

     touch file{1,2,3}{a,b,c}

     svnadmin create /mnt/hello/websvn

     svn import dir file:///mnt/hello/websvn/qwg

     svn list file:///mnt/hello/websvn/qwg

     svn status -v

     cd /mnt/hello/websvn/conf/
     vi svnserver.conf
        SVNPath /mnt/hello/websvn/qwg
        anon-access = read
        auth-access = write
        password-db = passwd
        authz-db = authz
         realm = websvn
     vi passwd
         test = westos (用户名=test,密码=westos,和htpasswd执行的密码相同)
     vi authz
        admin = test
        [/]
        admin = rw
        * = r
     wKiom1PZ-gWy7LEeAACES-ruiKQ083.jpg

4./etc/init.d/httpd start

   /etc/init.d/svnserver start

访问http://127.0.0.1/svn即可看见版本库的文件

    wKioL1PZ-32x3H0HAADDsKH6ftA932.jpg

以上只列出了subversion的一些简单用法和配置方法,想要深入理解subversion的使用和配置方法,请参照推荐书籍,有什么错误欢迎大家指出