• SVN安装


    1.yum安装

    如果没有安装就会是下面的样子,提示找不到命令。

    [root@localhost ~]# svnserve --version

    -bash: svnserve: command not found

    如果已经安装,会显示版本信息:

    [root@localhost ~]# svnserve –version

    在Linux下安装的是subversion,直接用yum 安装即可。

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

    检查安装是否成功
    同样用的是 svnserve –version成功安装会显示版本信息

    [root@localhost ~]# svnserve --version

    2.编译安装预备部分:检查自己的linux系统中是否已经默认安装了svn

    [root@c1 ~]# rpm -qa |grep svn
    rpm -e --nodeps ****(输入上个命令获取的安装包名称)

    1.下载subversion-1.9.7.tar.gz 并把软件包上传到linux,我的是放在/opt/

    下载地址 http://subversion.apache.org/download.cgi#recommended-release

    [root@c1 ~]# cd /opt/

    [root@c1 opt]# tar -xvf subversion-1.9.7.tar.gz
    [root@c1  opt]# cd subversion-1.9.7/

    [root@c1 subversion-1.9.7]# ./configure  --prefi=/opt/subversion    

    此时会出现第一个问题,看图:apr找不到,此时就要安装apr了

    下载地址:http://apr.apache.org/download.cgi

    image

    下载并上传到/opt

    image
    安装apr

    [root@c1 subversion-1.9.7]# cd /opt/

    [root@c1 opt]# tar -xvf apr-1.6.3.tar.gz

    [root@c1 opt]# cd apr-1.6.3/

    ./configure --prefix=/opt/apr

    (注意这里可能会出现gcc依赖的没有安装,此时就用yum安装gcc安装,要是有其他依赖需求就自行安装)

    image

    编辑 configure文件,查找 $RM "$cfgfile"这个地方,用#注释掉,然后重新编译安装就可以了。安装完以后再解压apr-util-1.5.4.tar.gz并依次执行

    [root@c1 apr-1.6.3]# make

    [root@c1 apr-1.6.3]# make install
    image

    [root@c1 apr-1.6.3]# cd ..
    [root@c1 opt]# tar -xvf apr-util-1.6.1.tar.gz

    [root@c1 opt]# cd apr-util-1.6.1/
    [root@c1 apr-util-1.6.1]# ./configure --prefix=/opt/apr-utl --with-apr=/opt/apr

    [root@c1 apr-util-1.6.1]# make

    报错:需安装 expat-devel
    image

    yum install expat-devel

    make安装出现错误,解决错误后重新安装前记得用make clean清除一下

    [root@c1 apr-util-1.6.1]# make

    [root@c1 apr-util-1.6.1]# make install
    image

    安装完成,继续安装svn

    [root@c1 apr-util-1.6.1]# cd /opt/subversion-1.9.7/

    找度娘问了很长时间才得到正确的答案,那就是在执行命令的时候要添加指明aprutil的安装目录

    [root@c1 subversion-1.9.7]# ./configure --prefix=/opt/subversion --with-apr-util=/opt/apr-util

    image

    复制上图给的地址,下载对应的文件,在wind下载解压后,将全部文件上传到subversion-1.9.7目录下的sqlite-amalgamation文件夹下(如果该文件不存在,创建之)

    [root@c1 subversion-1.9.7]# mkdir sqlite-amalgamation

    image

    开始测试使用,先以本机为客户端测试

    [root@c1]#cd  /home                                              #比如文件都在/home下

    [root@c1 home]# mkdir svn-repo                             #创建大仓库

    /opt/subversion/bin/svnadmin create /home/svn-repo/shop         #创建小仓库shop

    /opt/subversion/bin/svnadmin create /home/svn-repo/blog         ##创建小仓库blog

    image


    conf                  #配置

    db                    #存提交上来的代码

    hhooks            #实现高级功能

    locks                #锁的文件

    启动

    /opt/subversion/bin/svnserve -d -r /home/svn-repo/               #启动大仓库不用一个一个启动下面的小 仓库

    netstat –nltp                #确认启动,端口3690

    linux本机做客户端测试:

    测试往/home/svn-repo/shop小仓库里提交文件,比如说的本地路径是/

    先和服务器取得联系

    [root@c1 ~]# /opt/subversion/bin/svn checkout svn://127.0.0.1/shop
    取出版本 0。

    发现本地会创建个shop目录,去到shop文件夹里新建index.php测试

    image

    [root@c1 ~]# cd   shop/
    [root@c1 shop]# vim index.php

    提交:提交前先加入

    [root@c1 shop]# /opt/subversion/bin/svn  add index.php
    A         index.php

    [root@c1 shop]# /opt/subversion/bin/svn  commit -m "index zhu shi" index.php
    svn: E170001: 提交失败(细节如下):
    svn: E170001: 认证失败                                #要在shop下的conf设置

    [root@c1 shop]# vim /home/svn-repo/shop/conf/svnserve.conf    #先设置匿名用户,改完不需要重启

    anon-access = write

    [root@c1 shop]# /opt/subversion/bin/svn  commit -m "index zhu shi" index.php
    正在增加       index.php
    传输文件数据.done
    正在读取事务
    提交后的版本为 1。

    [root@c1 shop]# ll /home/svn-repo/shop/db/revs/0/                 #提交到这里了
    0  1

    在提交个文件测试

    [root@c1 shop]# vim user.php

    [root@c1 shop]# /opt/subversion/bin/svn  add user.php
    A         user.php

    [root@c1 shop]# /opt/subversion/bin/svn  commit -m "user  zhu shi"  user.php

    [root@c1 shop]# vim   /home/svn-repo/shop/db/revs/0/2          #这个2可以看上上面user.php里面提交的内容

    提交的第一个文件index.php是1,第二个文件 user.php是2  ?

  • 相关阅读:
    .NET面试题解析(07)-多线程编程与线程同步
    .NET面试题解析(06)-GC与内存管理
    .NET面试题解析(05)-常量、字段、属性、特性与委托
    .NET面试题解析(04)-类型、方法与继承
    .NET面试题解析(03)-string与字符串操作
    .NET面试题解析(02)-拆箱与装箱
    .NET面试题解析(01)-值类型与引用类型
    StackExchange.Redis使用配置
    X--名称空间详解
    深入浅出话资源
  • 原文地址:https://www.cnblogs.com/pengrj/p/8762302.html
Copyright © 2020-2023  润新知