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,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
218 1
|
2月前
|
中间件 Linux vr&ar
Centos7升级Glibc
Centos7升级Glibc
|
2月前
|
Linux 数据安全/隐私保护 Perl
CentOS7中升级OpenSSL详细教程
这篇文章提供了在CentOS 7系统中升级OpenSSL到3.2版本的详细步骤,包括备份现有配置、安装依赖、下载安装新版本以及验证安装结果。
722 1
|
1月前
|
Linux 编译器 测试技术
【C++】CentOS环境搭建-快速升级G++版本
通过上述任一方法,您都可以在CentOS环境中高效地升级G++至所需的最新版本,进而利用C++的新特性,提升开发效率和代码质量。
166 64
|
1月前
|
Linux 编译器 测试技术
【C++】CentOS环境搭建-快速升级G++版本
通过上述任一方法,您都可以在CentOS环境中高效地升级G++至所需的最新版本,进而利用C++的新特性,提升开发效率和代码质量。
202 63
|
20天前
|
存储 监控 Linux
在 CentOS 7 中进行磁盘分区和挂载的具体操作步骤,如何使用 `fdisk` 创建分区、格式化分区、创建挂载点以及临时和永久挂载分区的方法。
本文介绍了在 CentOS 7 中进行磁盘分区和挂载的具体操作步骤。通过一个实际案例,详细说明了如何使用 `fdisk` 创建分区、格式化分区、创建挂载点以及临时和永久挂载分区的方法。此外,还分享了一些实践经验,帮助读者更好地管理和优化服务器磁盘空间。
40 4
|
24天前
|
存储 监控 Linux
在 CentOS 7 中如何对未分配的大容量硬盘进行分区和挂载。通过具体案例,详细说明了使用 `fdisk` 创建分区、格式化分区、创建挂载点以及临时和永久挂载分区的步骤
本文介绍了在 CentOS 7 中如何对未分配的大容量硬盘进行分区和挂载。通过具体案例,详细说明了使用 `fdisk` 创建分区、格式化分区、创建挂载点以及临时和永久挂载分区的步骤。此外,还分享了一些实践经验,帮助读者更好地管理和优化磁盘空间。
41 8
|
21天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
61 3
|
22天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
38 2
|
24天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
73 2
下一篇
无影云桌面