zoukankan      html  css  js  c++  java
  • SVN详解linux+windows

    Linux:

      svn(subversion)是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。svn服务器有2种运行方式:独立服务器和借助apache等web服务器。两种方式各有利弊。svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

    本文主要介绍SVN独立服务器的的安装和简单配置:
    1.安装(CentOS下yum即可方便的完成安装)

    # yum install subversion

    测试安装是否成功:

    # svnserve --version      回车显示版本说明安装成功

    2.建立版本库

    # mkdir /svndata              创建svn数据目录(目录可自行制定)
    # svnadmin create /svndata/kuming                  kuming就是版本库的名字,可以改变!

    3.配置svn配置文件(为了方便管理,这里多个库调用相同的配置文件。)
       1)主配置文件:每个版本库创建之后都会生成svnserve.conf主配文件

    # vim /svndata/kuming/conf/svnserve.conf
    [general]
    anon-access = none
    auth-access = write
    password-db = /svndata/conf/passwd
    authz-db = /svndata/conf/authz
    realm = kuming

      2)配置用户

    # mkdir /svndata/conf
    # vim /svndata/conf/passwd      //svn用户配置文件
    [users]
    user1 = password1
    user2 = password2
    user3 = password3
    user4 = password4

      3)权限配置文件

    # vim /svndata/conf/authz      //svn权限控制配置文件
    复制代码
    [groups]    #设置组
    group1 = user1,user2  #多用户用逗号隔开
    
    [/]       #根目录权限设置(就是“kuming”这个文件夹)
    user3 = rw   #用户1权限是:可读写
    user4 = r    #用户2权限是:可读,不可写
    user =      #什么都没写代表没有任何权限
    
    @group1 = rw  #设置组权限
    
    [kuming:/123]  #设置根目录下“123”文件夹的权限
    #说明“123”这个文件件怎么创建?这是在SVN服务器配置好之后,创建一个权限很高的用户在客户端登录SVN
    #然后创建一个文件夹“123”。
    复制代码

    4.启动服务器

    # svnserve -d -r /svndata

    -d表示以daemon方式(后台运行)运行
    -r /svndata指定根目录是/svndata


    5.关闭SVN 服务器

    # killall svnserve

    6.查看服务

    # ps aux | grep svnserve    查看服务,端口:3690

    7.SVN客户端浏览方法

    客户端使用的软件是TortoiseSVN,浏览方法:打开版本库浏览器输入:svn://ip-addr/kuming/文件夹名

    附:下面是随便折腾一个小脚本用来管理服务器的启动、重启、停止等操作

    # vim svn
    # chmod +x svn
    复制代码
    #!/bin/bash
    case "$1" in
    start)
            svnserve -d -r /svndata
            svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
            if [ $svnport -eq 3690 ]
            then
                    echo "SVN Server Already Runnning. Port:3690"
            else
                    echo "SVN Server Does Not Start"
            fi
    ;;
    reload)
            svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
            if [ $svnport -eq 3690 ]
            then
                    killall svnserve && svnserve -d -r /svndata
                    echo "Reload OK"
            else
                    echo "SVN Server Is Not Running"
            fi
    ;;
    stop)
            killall svnserve
            echo "SVN Server Has Been Stopped"
    ;;
    status)
            svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
            pid=`ps aux | grep svnserve | grep -v "grep" | awk '{print $2}'`
            if [ $svnport -eq 3690 ]
            then
                    echo "SVN Server (pid:$pid) 正在运行..."
            else
                    echo "SVN Server 停止运行..."
            fi
    ;;
    *)
            echo "$0: Usage: $0 {start|status|stop|reload}"
            exit 1
    ;;
    esac
    复制代码

    转:http://www.cnblogs.com/thinksasa/archive/2013/04/10/3012215.html

  • 相关阅读:
    7.2对象的生命周期
    7.2.2垃圾收集和对象的终结
    7.1.2验证
    发现电脑上装着liteide,就用golang做一个TCP通讯测试(支持先启动client端和断线重连)
    C++读写局域网共享
    C++编写 动态链接库dll 和 调用dll
    VBA果然很强大
    [Windows]查看运行进程的参数【wmic】
    自旋锁-SpinLock(.NET 4.0+)
    C#并行和多线程编程
  • 原文地址:https://www.cnblogs.com/yiwd/p/3089021.html
Copyright © 2011-2022 走看看