环境: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
提交之前,先要执行SVN update从服务器下载最新的版本,然后在执行SVN commit,可避免版本冲突
右键test文件夹,选择SVN commit
上传成功
SVN解决版本冲突:
A、B用户执行SVN update,test文件当前版本为1
A用户编辑后执行SVN commit后,test文件当前版本为2
B用户编译后执行SVN commit,由于B用户此时的test文件版本仍为1,会同步出错
如果B用户对这个文件夹直接执行SVN update,由于版本不同,会生成几个状态文件
这时B用户需要消除这些状态文件,对test文件执行TortoiseSVN---Resolved
这时test文件内容会发生改变。注:如果test是纯文本文件,则可以执行Resolved;如果是非纯文本文件,则只能放弃修改,执行TortoiseSVN---Revert
这时B用户就可以test文件执行SVN commit提交了
注:提交之前,先要执行SVN update从服务器下载最新的版本,然后在执行SVN commit,可避免版本冲突
工作拷贝中的每一个目录都有一个叫作.svn的管理目录,工作目录中的每一个文件,Subversion在管理区域为它保留了一个备份,这是上一个版本(叫做“BASE”版本)没有修改的(没有关键字变化,没有行结束符号转化,没有任何改动)拷贝,我们把这个文件当作原始拷贝或基准文件使用,它与版本库中的文件完全一样
本文出自 “鹏城-酱油瓶” 博客,谢绝转载!
原文地址:http://yfshare.blog.51cto.com/8611708/1674963