SVN分支开发管理(SmartSVN)

使用分支的目的是,可以多个分支进行多版本并行开发,相互不干扰,而且任何时候都可以合并。同时,也保证了主干的稳定性。

项目目录格式,如:
一级目录(项目名称),如:Projectxxx
二级目录 (一级目录下的子目录),如:Projectxxx—trunk、branch、tag
三级目录(二级目录下的子目录),如:Projectxxx—trunk—projectXXX

说明:
1、trunk主干,永远只有一份完整的源码;
2、branch分支,可以有多个版本的源码;
3、tag存档,不同版本发布后存档(版本号+存档时间)。

示例图
SVN目录结构

分支开发
使用SmartSVN示例

从主干创建分支(创建分支方法及步骤)

1、通过SmartSVN的checkout功能,checkout 整个项目目录到本地,即一级目录和二级目录
2、在本地二级分支目录branch目录下,新建目录,如:V2.0.0
3、在SmartSVN的二级目录branch目录下,可以看到新建的目录V2.0.0,右击并选择Add(注意不进行Commit提交)
新建分支
4、在SmartSVN的二级目录branch目录下,选中新建的目录V2.0.0,后再选择菜单栏中的Copy From Repository(菜单栏-Modify-Copy From Repository)
分支源码
5、 在弹窗中进行相关目录的设置,1是 Copy 的源码目录,2是 Into Local 的分支的代码目录(Copy是复制前的目录,Into Local是复制后的目录且还在本地),3点击Copy进行复制,即创建分支的代码目录
分支选择
6、复制后,在SmartSVN中的分支目录branch目录下出现项目目录,选中并点击Commit进行提交,分支即创建成功
分支源码提交

分支合并到主干(从主干创建的分支)

1、在SmartSVN上,选择主干目录trunk目录下的项目目录
2、在菜单栏中选择合并Merge(菜单栏-Modify-Merge)
分支合并到主干
3、在弹窗中选择合并来源Other Location,并选择对应的svn路径,及选择All Revisions(not yet merged),后点击合并按钮Merge
分支合并到主干选择
合并代码选择
4、合并后,在SmartSVN中的主干目录trunk目录下,选择源码项目,并点击Commit进行合并后的代码提交
合并后提交

主干合并到分支(从主干创建的分支)

1、操作方工同分支合并到主干
报错:Cannot merge into a working copy that has local modifications
解决:因为只checkout了分支目录,且直接在分支目录进行合并操作;需要checkout整个项目目录,然后进入到分支目录再进行主干合并到分支的操作。

分支合并到分支(从分支创建的分支)

1、操作方工同分支合并到主干

注意: 1、不管是建立分支(主干创建分支,或分支再创建分支),还是合并(分支合并到主干,或主干合并到分支,或分支合并到分支),都是通过SVN工具把整个项目目录(包括一级,二级目录,三级目录等)checkout到本地后才能进行有效的操作。如果只是checkout主干,然后进行分支合并到主干操作,是不可行的,并且会给出错误提示;或只是checkout某个分支,然后进行主干合并到分支操作,也是不可行的。 2、合并前需要进行update操作,保证本地各分支源码都是最新的代码 3、提交修改备注时,注明修改的分支,如:主干上修改登录功能,或分支V2.0.0修改注册功能