zoukankan      html  css  js  c++  java
  • svn服务器配置

    源代码版本维护

    官方网站:http://subversion.apache.org/       

    Windows客户端 TortoiseSVN:http://tortoisesvn.net/

    常见的版本控制软件
      CVS,逐渐被SVN取代,是CVX重写版和改写版
      SVN,Subversion
      Git,Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件

    SVN存储数据的方式
      BDB,Berkeley DB,一种事务安全型表类型
      FSFS,"FSFS" 采用文件系统的方式, 替代原来的基于Berkeley DB的实现.
      因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点

    SVN的运行方式及端口
      独立服务器 3690端口 访问方式SVN:// C/S模式
      借助apache运行 80端口 访问方式 http://

     安装svn:

    [root@super67 ~]# yum install -y subversion


    [root@super67 ~]# grep svn --color /etc/services
    svn 3690/tcp # Subversion
    svn 3690/udp # Subversion

    存放版本库的主目录:
    [root@super67 ~]# mkdir /myweb

    创建两个版库:
    [root@super67 ~]# svnadmin create /myweb/www.xiaofan.com
    [root@super67 ~]# svnadmin create /myweb/www.xiaofan.cn

    版本库文件介绍:
    [root@super67 ~]# ll /myweb/www.xiaofan.com/
    total 24
    drwxr-xr-x 2 root root 4096 Sep 25 09:54 conf #创库的配置文件(账号、权限等)
    drwxr-sr-x 6 root root 4096 Sep 25 09:54 db #版本库数据存放位置
    -r--r--r-- 1 root root 2 Sep 25 09:54 format #当前文件库配置的版本号
    drwxr-xr-x 2 root root 4096 Sep 25 09:54 hooks #放置hook脚本的位置
    drwxr-xr-x 2 root root 4096 Sep 25 09:54 locks #放置subversion锁定数据的目录,追踪存取文件库的客户端
    -rw-r--r-- 1 root root 229 Sep 25 09:54 README.txt
    dav目录:是提供apache与mod_dav_svn使用的目录,让他们存储内部数据,刚开始新建时此目录没有

    conf目录文件:

    [root@super67 ~]# ll /myweb/www.xiaofan.com/conf/
    total 12
    -rw-r--r-- 1 root root 1080 Sep 25 09:54 authz #认证权限
    -rw-r--r-- 1 root root 309 Sep 25 09:54 passwd #用户名和密码
    -rw-r--r-- 1 root root 2279 Sep 25 09:54 svnserve.conf #服务器配置文件

    修改配置文件:

    [root@super67 ~]# grep -Ev "^$|^#" /myweb/www.xiaofan.com/conf/svnserve.conf
    [general]
    anon-access = read #匿名用户可以读,使用none的话就是匿名用户不可以访问
    auth-access = write #认证用户可以写,可以是read,write,none
    password-db = passwd #密码库文件,默认使用的是同一目录下的passwd文件作为用户密码库
    authz-db = authz #认证权限文件
    realm = www.xiaofan.com #登陆提示信息
    [sasl]


    [root@super67 ~]# grep -Ev "^$|^#" /myweb/www.xiaofan.com/conf/passwd
    [users] #定义用户、密码
    xiaofan = 123456
    tt = 1234567
    user = 12345678


    [root@super67 ~]# grep -Ev "^$|^#" /myweb/www.xiaofan.com/conf/authz
    [aliases]
    [groups]
    Check = xiaofan,tt #定义组
    [/] #/表示我当前所在版本库目录
    user = rw # user 用户有读写权限
    @Check = r #@Check表示这个组的权限,就是上面定义的组的成员
    * = #除了上面的有赋予权限成员之外,其他的成员都没有权限


    SVN目录格式:
    [/目录名]
    @用户组名 = 权限
    用户名 = 权限
    * =

    启动svn:
    [root@super67 ~]# svnserve -d -r /myweb/


    导入本地代码:

    [root@super67 ~]# mkdir svn_local
    [root@super67 ~]# cd svn_local/
    [root@super67 svn_local]# touch 1.jsp 2.jsp 3.jsp
    [root@super67 svn_local]# svn import /root/svn_local/ file:///myweb/www.xiaofan.com/ -m "one"
    Adding /root/svn_local/1.jsp
    Adding /root/svn_local/2.jsp
    Adding /root/svn_local/3.jsp

    Committed revision 1.


    客户端提交代码:

    [root@super67 svn_client]# touch 4.jsp 5.jsp
    [root@super67 svn_client]# svn import /root/svn_client/ svn://192.168.1.67/www.xiaofan.com/ -m "two"
    Authentication realm: <svn://192.168.1.67:3690> www.xiaofan.com
    Password for 'root':
    Authentication realm: <svn://192.168.1.67:3690> www.xiaofan.com
    Username: user
    Password for 'user': 12345678

    -----------------------------------------------------------------------
    ATTENTION! Your password for authentication realm:

    <svn://192.168.1.67:3690> www.xiaofan.com

    can only be stored to disk unencrypted! You are advised to configure
    your system so that Subversion can store passwords encrypted, if
    possible. See the documentation for details.

    You can avoid future appearances of this warning by setting the value
    of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
    '/root/.subversion/servers'.
    -----------------------------------------------------------------------
    Store password unencrypted (yes/no)? no
    Adding /root/svn_client/5.jsp
    Adding /root/svn_client/4.jsp

    Committed revision 2.
    [root@super67 svn_client]#

    下载代码:

    [root@super67 ~]# svn checkout svn://192.168.1.67/www.xiaofan.com svn_download
    Authentication realm: <svn://192.168.1.67:3690> www.xiaofan.com
    Password for 'user':
    Authentication realm: <svn://192.168.1.67:3690> www.xiaofan.com
    Username: xiaofan
    Password for 'xiaofan':

    -----------------------------------------------------------------------
    ATTENTION! Your password for authentication realm:

    <svn://192.168.1.67:3690> www.xiaofan.com

    can only be stored to disk unencrypted! You are advised to configure
    your system so that Subversion can store passwords encrypted, if
    possible. See the documentation for details.

    You can avoid future appearances of this warning by setting the value
    of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
    '/root/.subversion/servers'.
    -----------------------------------------------------------------------
    Store password unencrypted (yes/no)? no
    A svn_download/5.jsp
    A svn_download/1.jsp
    A svn_download/2.jsp
    A svn_download/3.jsp
    A svn_download/4.jsp
    Checked out revision 2.

    checkout:
    check out导出获得文件后,导出的文件仍处于SVN版本控制中,与版本库保持关联,
    比如你可以进行Svn Update或者Svn Commit操作,checkout是第一次用,后面的用法就是更新

    修改、添加代码:

    [root@super67 ~]# cd svn_download/
    [root@super67 svn_download]# ls
    1.jsp 2.jsp 3.jsp 4.jsp 5.jsp
    [root@super67 svn_download]# cat 5.jsp
    #
    555555555
    [root@super67 svn_download]# touch 6.html
    [root@super67 svn_download]# svn add 6.html
    A 6.html
    [root@super67 svn_download]# svn add 5.jsp
    svn: warning: '5.jsp' is already under version control

    [root@super67 svn_download]# svn commit -m "three"
    Authentication realm: <svn://192.168.1.67:3690> www.xiaofan.com
    Password for 'xiaofan':
    Authentication realm: <svn://192.168.1.67:3690> www.xiaofan.com
    Username: user
    Password for 'user': 12345678

    -----------------------------------------------------------------------
    ATTENTION! Your password for authentication realm:

    <svn://192.168.1.67:3690> www.xiaofan.com

    can only be stored to disk unencrypted! You are advised to configure
    your system so that Subversion can store passwords encrypted, if
    possible. See the documentation for details.

    You can avoid future appearances of this warning by setting the value
    of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
    '/root/.subversion/servers'.
    -----------------------------------------------------------------------
    Store password unencrypted (yes/no)? no
    Sending 5.jsp
    Adding 6.html
    Transmitting file data ..
    Committed revision 3.


    add 功能:
    向文件拷贝所在的文件夹中添加新的文件,并作出标识,是新添加的,
    下一步提交时将一并提交到Subversion版本库中去。
    简单的说就是将一新文件加入svn,你添加再提交后该文件就进入subversion版本中去了;


    常见的选项:
    import:将未版本化的文件纳入版本控制并提交
    checkout:从版本库中检出一个修订版
    update:更新工作拷贝
    add,delete,copy, move:增、删、复制、移动文件或目录
    status:检查状态差异
    diff:检查文件行级详细差异
    revert:恢复
    resolve:解决冲突
    switch:切换工作拷贝对应的版本库分支
    log:查看历史记录
    list:显示文件目录
    cat:查看某个文件内容

    ==============================================

    向svn服务器提交一个完整的java项目源码:

    提交:

    [root@super67 svn_local]# pwd
    /svn_local
    [root@super67 svn_local]# ls
    edu
    [root@super67 svn_local]# svn import /svn_local/ file:///myweb/www.xiaofan.com/ -m "java_all"

    下载:

    [root@super67 ]# svn checkout file:///myweb//www.xiaofan.com/ test

  • 相关阅读:
    在zookeeper集群的基础上,搭建伪solrCloud集群
    Spring Data Solr操作solr的简单案例
    solr的客户端操作:使用solrj进行curd操作
    solr配置相关:约束文件及引入ik分词器
    solr的简单部署:在tomcat中启动slor
    Lucene的查询及高级内容
    淘淘商城部署文档
    服务器负载均衡的部署方式
    反向代理和负载均衡有何区别?
    毕向东_Java基础视频教程第21天_IO流(1)
  • 原文地址:https://www.cnblogs.com/fanxuanhui-linux/p/5905558.html
Copyright © 2011-2022 走看看