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  ?

原文地址:https://www.cnblogs.com/pengrj/p/8762302.html