SVN服务器搭建和使用
VisualSVN server 服务端和 TortoiseSVN客户端下载
VisualSVN server 服务端下载,官网下载地址:http://subversion.apache.org/packages.html
TortoiseSVN客户端+语言包下载,官网下载地址:http://tortoisesvn.net/downloads.html
参考文章:
http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html
http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407979.html
两种常见SVN库结构简明介绍
第一种SVN库结构:每个项目都是一个版本库RepostitoryA(ProjectA)
trunk
branches
tags
RepostitoryB(ProjectB)
trunk
branches
tags
这可能是最常用的版本库结构,被许多开源项目采用,就像Subversion本身和Subclipse,这是大多数主机站点,如Tigris.org,SourceForge.net和GoogleCode遵循的方法,这些站点的每个项目有自己的版本库。
另一种SVN库结构是针对一个版本库包含不相关项目的最佳选择。缺点版本号是针对版本库而定的,ProjectA更新一个版本时,ProjectB的版本号也会更新
RepostitoryA
ProjectA
trunk
branches
tags
ProjectB
trunk
branches
tags
在这种库结构里,每个项目会存在顶级目录里,然后该目录之下创建trunk/branches/tags,其中与第一种库结构相同,这只是将项目放到自己版本库方式的替换,他们都在一个版本库中。Apache软件基金会使用这种库结构方式来存放他们的所有项目在一个版本库。
参考文章:
http://developer.51cto.com/art/201005/202256.htm
http://developer.51cto.com/art/201005/202266.htm
http://developer.51cto.com/art/201005/202335.htm
svn冲突处理
userA,userB同时下载了版本1,userA,userB都在本地修改test.txt,当userA修改完成后提交ok,userB修改完提交会提示冲突无法提交。
如果是userA增加了test2.txt,userB增加了test3.txt,则userB提交也不会有冲突,新版本会有test2.txt和test3.txt
注意:本地代码commit后,就算没有其他人做修改,本地代码在再次修改前还是需要update一下,因为commit不会自动修改本地代码的版本号。
解决冲突方法参考以下文章
http://blog.csdn.net/windone0109/article/details/4857044
svn备份迁移
http://blog.csdn.net/shan9liang/article/details/7026287