centos升级配置svn详细步骤及常用操作

简介:

系统版本 Centos 6.4 64位

升级原因:

网站在360网站检测里面有提示发现SVN版本控制信息文件,修复方案是升级到1.7即可。用yum install subversion 升级后的版本是1.6.6,还是不行,就手动升级了

wKiom1OcHZqz2Bc5AADg7SfkNLg195.jpg

安装svn:

https://subversion.apache.org/download/

http://tortoisesvn.net/downloads.html 

http://www.subversion.org.cn/svnbook/1.4/ 

http://pan.baidu.com/s/1GSxHW 里面有客户端包和中文说明手册 官网地址http://tortoisesvn.net/support.html

svn 1.8.9在编译的时候./configure 需要apr,apr-util,sqlite三个软件包,所以先安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
yum remove subversion
tar  -xzf apr-1.4.6. tar .gz
cd  apr-1.4.6
. /configure
. /configure  --prefix= /usr/local/apr
make
make  install
cd  ..
  
tar  -xzf apr-util-1.4.1. tar .gz
cd  apr-util-1.4.1
. /configure  --prefix= /usr/local/apr-util  --with-apr= /usr/local/apr/
make
make  install
cd  ..
  
tar  -xzf subversion-1.8.9. tar .gz
wget http: //www .sqlite.org /sqlite-amalgamation-3071300 .zip
unzip sqlite-amalgamation-3071300.zip
mv  sqlite-amalgamation-3071300 . /subversion-1 .8.9 /sqlite-amalgamation
cd  subversion-1.8.9
. /configure  --prefix= /usr/local/svn  --with-apr= /usr/local/apr  --with-apr-util= /usr/local/apr-util/
make
make  install


安装后验证版本:

1
/usr/local/svn/bin/svnserve  --version

wKiom1OcHqOQsmbyAAHIy0gSuKA151.jpg


创建一个svn的工作文件夹 /data/svn

1
2
mkdir  -p  /data/svn
/usr/local/svn/bin/svnadmin  create  /data/svn

编辑配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
cd  /data/svn/conf
vim  passwd
[ users ]
# harry = harryssecret
# sally = sallyssecret
bbotte = 123456
  
vim authz
[aliases]
[ groups ]
bbottegroup = bbotte
[/]
@bbottegroup = rw
* =
  
grep  - v  ^\ # svnserve.conf
[general]
anon-access = none
auth-access = write
password-db =  passwd
authz-db = authz
realm =  /data/svn
[sasl]
  
vim  /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
service iptables restart
  
/usr/local/svn/bin/svnserve  -d -r  /data/svn
ps  aux| grep  svn| grep  - v  grep
root      3412  0.0  0.0 139816   852 ?        Ss   14:27   0:00  /usr/local/svn/bin/svnserve  -d -r  /home/svndir/

配置说明

conf下面 password文件夹是放注册用户的,前两个#注释的是示例,下面写 用户名=密码 


authz 是用以控制权限,用来建立用户组,对组进行权限设置,一个组内权限一样,一般有 rw、r。group下面可以建多个组,每组一行,如果一组多人,后面用“,”隔开。

下面[/] 一行是项目名称

为了阻止其他用户组对这个文件有读的权力,我们可以再添加一句:* =


svnserve.conf是主配置文件,去掉password-db = passwd和authz-db = authz前面的注释符“#“,当然也可以自己定义。将anon-access= read前面的“#”去掉,并将read参数修改为none,表明禁止匿名用户对版本控制库的访问


客户端登陆

在windows 64位电脑安装 TortoiseSVN-1.8.5.25224-x64-svn-1.8.8.msi

安装后运行TortoiseSVN Repository Browser

在URL 输入框输入:svn://IP/svn/  在弹出的登录框输入用户名bbotte,密码 123456

wKioL1PbStmi2ZZSAAFyn22_i2U219.jpg


客户端常用操作:

1,在电脑桌面新建文件夹svndir,选择“SVN检出”

wKioL1PbRbfyjKGTAACzY-V25Pg579.jpg

wKiom1PbROrwZidVAAEsO4Nl3GM510.jpg


2,修改文件内容后,选择“SVN提交”

wKiom1Pe9H7DCJXhAADXY_L0cbY490.jpg

3,如果其他人正好已经修改了这个文件,自己电脑上的文件没有和服务器同步,那么先选择“SVN更新”,再“SVN提交”,以免出现下面错误


wKiom1PbS1XASC8TAADYjWl3L68434.jpg

4,冲突

文件冲突

假设A、B两个用户都在版本号为1的时候,更新了test.txt这个文件,A用户在修改完成之后提交test.txt到服务器,这个时候提交成功,这个时候test.txt文件的版本号已经变成2了。同时B用户在版本号为1的test.txt文件上作修改,修改完成之后提交到服务器时,由于不是在当前最新的2版本上作的修改,所以导致提交失败

属性冲突 

当两名或更多的开发人员修改了某个文件的属性时就会发生属性冲突。属性作为文件的一部分,解决属性冲突只能由开发人员来完成。 如果一个更改必须被另一个覆盖,那么就在 使用本地属性解决 和 使用远程属性解决 中选择一个。如果更改想要被合并,那就选择 手工编辑属性,选出所要的属性值然后标记为已解决。 

树冲突 

当一名开发人员移动、重命名、删除一个文件或文件夹,而另一名开发人员也对它们进行了移动、重命名、删除或者仅仅是修改时就会发生树冲突。有很多种不同的情形可以导致树冲突,而且不同的情形需要不同的步骤来解决冲突。 当一个文件通过 Subversion 在本机删除后,文件也从本机文件系统中删除。因此即使它是树冲突的一部分,却既不能显示冲突的叠加图标也不能通过右键单击来解决冲突。使用检查修改对话框来获得编辑冲突选项。 TortoiseSVN 能够协助找到合并更改的正确位置,但是需要作一些额外的工作来整理冲突。请牢记: 当进行一次更新操作后,工作副本的基础文件将会包括每一个项目在执行更新操作时版本库中的版本。如果你在进行更新后再撤销更改,工作副本将返回到版本库的状态,而不是你开始进行更改前的状态。


如果有冲突,双机变更列表下红色的一行,在两个版本比较中,选择使用哪个板块,然后标记冲突已解决,再提交,即可成功

wKiom1Pe9L-S_iStAAIe7G3P1qI361.jpg

wKiom1Pe9NnSgNqiAAN6-zu3jK4561.jpgwKioL1Pe9fyCw36nAADyhb5rp5E128.jpg


5,在此目录下新建一个文件,需选择“加入”

wKiom1PbTC-AE0NJAAFB2Hete1Q647.jpg



在服务器端,需要查看svn提交的文件,那么新建一个文件夹,到此文件夹下 执行

/usr/local/svn/bin/svn co svn://192.168.22.240


或者这样:如果添加的目录为html文件夹,那么应该如下操作:

cd /var/www/html

svn import /var/www/html svn://192.168.22.240/html -m "html test1"

svn info

这样做,配置文件还是在/data/svn目录下,客户端更新提交后,在此目录 svn update即可


svn备份

svnadmin hotcopy path/to/repository path/to/backup --clean-logs


svn重启脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash
# build thisfile in /etc/init.d/svn
# chmod 755/etc/init.d/svn
SVN_HOME= /data/svn
if  [ ! -f  "/usr/local/svn/bin/svnserve"  ]
then
echo  "svnserver startup: cannot start"
exit
fi
case  "$1"  in
start)
echo  "Starting svnserve..."
/usr/local/svn/bin/svnserve  -d --listen-port 3690 -r $SVN_HOME
echo  "Finished!"
;;
stop)
echo  "Stoping svnserve..."
killall svnserve
echo  "Finished!"
;;
restart)
$0 stop
$0 start
;;
*)
echo  "Usage: svn { start | stop | restart } "
exit  1
esac

附软件包地址,http://pan.baidu.com/s/1sXpGj  http://pan.baidu.com/s/1GSxHW 










本文转自 bbotte 51CTO博客,原文链接:http://blog.51cto.com/bbotte/1426394,如需转载请自行联系原作者
目录
相关文章
|
9天前
|
消息中间件 Linux API
centos7 安装rabbitmq自定义版本及配置
centos7 安装rabbitmq自定义版本及配置
|
8天前
|
弹性计算 关系型数据库 MySQL
centos7 mysql安装及配置
本文详细介绍了在阿里云服务器ECS上通过yum源安装MySQL 8.0.12的过程,包括更新yum源、下载并安装MySQL源、解决安装过程中可能遇到的问题等步骤。此外,还介绍了如何启动MySQL服务、设置开机自启、配置登录密码、添加远程登录用户以及处理远程连接异常等问题。适合初学者参考,帮助快速搭建MySQL环境。
61 8
centos7 mysql安装及配置
|
4天前
|
Linux
CentOS 7.x时间同步服务chrony配置详解
文章详细介绍了在CentOS 7.x系统中如何安装和配置chrony服务,以及它与ntpd服务的对比,强调了chrony在时间同步方面的高效性和准确性。
16 1
CentOS 7.x时间同步服务chrony配置详解
|
17天前
|
Ubuntu 网络协议 Linux
liunx各大发行版(centos,rocky,ubuntu,国产麒麟kylinos)网卡配置和包管理方面的区别
本文对比了Linux主要发行版CentOS、Rocky Linux、Ubuntu及国产Kylin在网卡配置与包管理上的差异。
|
22天前
|
Linux 开发工具
成功解决:CentOS 7中如何配置修改Vim
这篇文章介绍了如何在CentOS 7系统中配置和修改Vim编辑器的设置。文章首先指导读者如何检查Vim是否已经安装,如果未安装完全,提供了安装Vim的命令。接着,文章详细说明了如何编辑`/etc/vimrc`文件来配置Vim,包括设置显示行号、显示当前模式、光标位置信息、自动缩进和语法高亮等。最后,文章通过对比展示了配置前后使用vi和vim打开相同文本的效果差异,强调了Vim配置后的优势。
成功解决:CentOS 7中如何配置修改Vim
|
24天前
|
存储 安全 Linux
新 CentOS 7 服务器的基本配置
新 CentOS 7 服务器的基本配置
23 1
|
23天前
|
网络协议 Linux 网络安全
Hyper-v 如何配置 Centos7 虚拟机网络?
Hyper-v 如何配置 Centos7 虚拟机网络?
|
23天前
|
存储 安全 Java
在CentOS 7上安装和配置Elasticsearch的方法
在CentOS 7上安装和配置Elasticsearch的方法
56 0
|
23天前
|
JSON 运维 Linux
在CentOS 7上安装和配置Ansible的方法
在CentOS 7上安装和配置Ansible的方法
42 0
|
23天前
|
存储 安全 Linux
如何在 CentOS VPS 上配置 vsftpd 使用 SSL/TLS
如何在 CentOS VPS 上配置 vsftpd 使用 SSL/TLS
15 0
下一篇
DDNS