zoukankan      html  css  js  c++  java
  • svn在linux上的安装

    什么是svn
    SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。
    1. 性能提高。SVN不管文件是文本还是二进制类型,在内部都是以二进制差异比较算法来表示文件的更新部分。这表示所有的文件在文件库中都是以差异的形式储存。而且在网络上传输的,都是较小的文件差异部分。这也使创建分支、打标签、合并等操作可以非常快地完成.
    2. 对目录的组织的管理更加方便。SVN不光对文件做版本跟踪,也会对目录做版本跟踪。因此可以根据项目的需要,对目录结构随时进行修改,可以把现有的目录移动到新的地方。
    3. 保证提交操作的完整性。SVN对提交操作的处理方式类似数据库的事务处理,要么全部成功,要么全部无效,保证了原子性。











    svn配置

    mount /dev/cdrom /media/cdrom   挂载光驱

    1.安装svn服务器端

    yum install subversion      从镜像下载安装svn服务器端

    cd /usr/local/              //进入目录,准备创建svn目录

    mkdir svn                   //创建一个svn目录

    chmod -R 777 svn            //修改目录权限为777

    svnadmin create /usr/local/svn/linux //创建一个svn版本仓库sunny(sunny可以随便起名字)

    cd svn/linux/conf               //进入sunny版本仓库下的配置文件目录







    下面要修改这个目录下的三个配置文件

    (1)vi svnserve.conf    //配置版本库信息和用户文件和用户密码文件的路径、版本库路径

    anon-access = none      //改成none   12
    auth-access = write                  13
    password-db = passwd                 18
    realm = linux           //改成自己的版本库   30
    保存






    (2)vi authz     //文件,创建svn组和组用户的权限

    [group]
    linux = pcy,trp //创建一个sunny的组,并指定两个用户gep和wce

    [/]             //制定根目录下的权限
    @linux = rw     //sunny组用户权限为读写
    * = r           //其他用户只有读权限
    保存退出






    (3) vi passwd   //创建或修改用户密码
    [users]
    pcy = 123456    //用户名为gep的用户的密码为123456
    trp = 123456    //。。。
    保存退出


    启动svn:
    svnserve -d -r /usr/local/svn/     //这里采用多版本库的方式启动  如果是单版本库 可以svnserve -d -r /usr/local/svn/sunny
    添加一行

    然后要设置自启动


    vi /etc/rc.d/rc.local    打开自启动文件添加

    /usr/bin/svnserve -d -r /usr/local/svn/


    到此为止可以从服务端检出文件了.

    svn命令:

    netstat -tnl |grep :3690   查看svn是否启动

    ps aux |grep 'svn'  查找所有svn启动的进程

    kill -9 2505    杀死2505这个查找到的svn进程



    做检出  就要先在根目录下建立一个文件夹  放置要检出的文件

    检出命令:
    svn checkout svn://linux的ip/版本库名称 /要检出的目录路径
    例子:svn checkout svn://192.168.1.107/svn(建立的目录) /aaa(要检出的文件目录)

    如果是新建的文件夹  就要先把文件添加  
    svn add 新建的那文件

    第二部就是要提交  
    svn commit -m "注释" xxx.php  //提交文件
    [root@localhost aaa]# svn commit -m "aaaaaaaaaaaa" a.php
    新增           a.php
    传输文件数据.
    提交后的修订版为 1。

    第三
    两个用户同时编辑后 第三个有要编辑  
    那么就要svn up 取出最新版本的编辑文件

    常用命令:

    svn up    //更新文件

    svn commit -m "注释" xxx.php  //提交文件

    svn add 文件名               //新建文件并添加到svn

    svn add *.php               //(添加当前目录下所有的php文件)

    svn delete test.php         //删除test.php

    svn log test.php            //查看test文件的log信息

    svn cleanup                 //清理当前目录



    ####################################设置svn自动更新,不需要在手动去做了#####################

    自动更新

    在vi /usr/local/svn/sunny/hooks/post-commit中加入

    #!/bin/sh

    #设置一些变量

    SVN=/usr/bin/svn

    WEB=/你要更新的目录

    export LANG=en_US.UTF-8

    $SVN update $WEB --username svn用户名 --password 密码


    其中SVN=右边改成 svn 命令位置 一般默认为/usr/bin/svn

    WEB=右边改成你实际的web目录

    赋予可执行权限

    chmod 777 /usr/local/svn/sunny/hooks/post-commit

    安装完毕


    =========================================================================
    其他操作

    svn up更新

    svn switch --relocate svn://192.168.1.253  svn://172.19.10.250      //重新定位SVN版本库地址

    // SVN版本库起动方式,现在SVN下面有 sunny、test 两个版本库

    1:单版本库起动    svnserve -d -r /usr/local/svn/sunny

    2:多版本库起动    svnserve -d -r /usr/local/svn

    区别在于起动svn时候的命令中的启动参数-r指定的目录。

    限制不同的用户对不同的版本库操作权限,修改版本库中的conf目录下的 authz文件

    以配置 sunny 版本库为例
    vi authz
    [groups]
    teacher = sunny,sunny1
    [sunny:/]             //指定版本库跟目录下的权限
    @teacher = rw     //teacher组用户权限为读写
    * = r           //其他用户只有读权限
    保存退出

    vi passwd 设置组中用户的账号和密码
    [users]
    sunny  = 123456
    sunny1 = 123456

  • 相关阅读:
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:表格单元格使用了 "bg-info" 类
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:表格单元格使用了 "bg-success" 类
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:表格单元格使用了 "bg-primary" 类
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:"text-danger" 类的文本样式
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:"text-warning" 类的文本样式
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:"text-info" 类的文本样式
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:"text-success" 类的文本样式
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:"text-primary" 类的文本样式
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:"text-muted" 类的文本样式
    Power management in semiconductor memory system
  • 原文地址:https://www.cnblogs.com/mypath/p/5264651.html
Copyright © 2011-2022 走看看