环境:CentOs 6.5(最小化安装)


参考资料:http://www.iusesvn.com/subversion/tortoisesvn_doc/

[root@localhost ~]# yum -y install subversion
[root@localhost ~]# mkdir /svn/ -p
[root@localhost ~]# useradd svn
[root@localhost ~]# chown svn:svn /svn/ -R
[root@localhost ~]# chmod 775 /svn/ -R
[root@localhost ~]# cd /svn/
[root@localhost svn]# svnadmin create test
[root@localhost svn]# ls
test
[root@localhost svn]# cd test/conf/
[root@localhost conf]# ls
authz  passwd  svnserve.conf
[root@localhost conf]# grep -v ^# passwd |grep -v ^$
[users]
admin = redhat
yfshare= redhat
[root@localhost conf]#
[root@localhost conf]# grep -v ^# authz |grep -v ^$
[aliases]
[groups]
test = admin,yfshare
[/]
@test = rw
[root@localhost conf]#
[root@localhost conf]# grep -v ^# svnserve.conf |grep -v ^$
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
[sasl]
min-encryption = 0
max-encryption = 256
[root@localhost conf]#
[root@localhost conf]# svnserve -d -r /svn/
[root@localhost conf]# netstat -tunlp|grep svnserve
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      1372/svnserve        
[root@localhost conf]#

安装TortoiseSVN后,右键桌面点击SVN checkout

wKioL1WmFhXzuoPdAAKsXSJFADM572.jpg

wKioL1WmFhbRKKmzAAGB707klQ0769.jpg

wKiom1WmFD2xiTwQAAEvwmR5oqo282.jpg

提交之前,先要执行SVN update从服务器下载最新的版本,然后在执行SVN commit,可避免版本冲突

右键test文件夹,选择SVN commit

wKiom1WmFILQu0upAAJTCRu6I48993.jpg

wKiom1WmFIKjnC_JAAG4zcqaKHI975.jpg

wKiom1WmFITQHsN7AAG2x3mjwK4400.jpg

wKiom1WmFKjgs14RAAEX9AW2Ci0622.jpg

上传成功



SVN解决版本冲突:

A、B用户执行SVN update,test文件当前版本为1

A用户编辑后执行SVN commit后,test文件当前版本为2

B用户编译后执行SVN commit,由于B用户此时的test文件版本仍为1,会同步出错

wKioL1WmFqiCDDYAAAGbhjynaB8715.jpg

如果B用户对这个文件夹直接执行SVN update,由于版本不同,会生成几个状态文件

wKioL1WmFsnwXo_eAAGIuTGZz6U927.jpg

wKiom1WmFPCT_SvSAAD9JrZX34c126.jpg

这时B用户需要消除这些状态文件,对test文件执行TortoiseSVN---Resolved

wKioL1WmFu6idzaiAAH23z8MauY450.jpg

wKiom1WmFRXgJAdWAAEstJ2uMsA871.jpg

这时test文件内容会发生改变。注:如果test是纯文本文件,则可以执行Resolved;如果是非纯文本文件,则只能放弃修改,执行TortoiseSVN---Revert
wKiom1WmFTCRMO8CAAF5nJYJz-o885.jpg

这时B用户就可以test文件执行SVN commit提交了

wKioL1WmFyTz9hYWAADScJcI6oQ802.jpg

注:提交之前,先要执行SVN update从服务器下载最新的版本,然后在执行SVN commit,可避免版本冲突


工作拷贝中的每一个目录都有一个叫作.svn的管理目录,工作目录中的每一个文件,Subversion在管理区域为它保留了一个备份,这是上一个版本(叫做“BASE”版本)没有修改的(没有关键字变化,没有行结束符号转化,没有任何改动)拷贝,我们把这个文件当作原始拷贝或基准文件使用,它与版本库中的文件完全一样