车皮 发表于 2018-11-22 10:43:05

版本管理器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#将末版本化文件导入版本库的最快方法,会跟据需要创建中介目录

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

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

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

  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
  #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
      
         

  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
   

  4./etc/init.d/httpd start

  /etc/init.d/svnserver start
  访问http://127.0.0.1/svn即可看见版本库的文件


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




页: [1]
查看完整版本: 版本管理器subversion的简单配置以及和apache的结合使用