在实际的开发中,我们一般使用SVN工具进行源代码的管理。在实际的产品开发中,根据项目的一些定制要求,往往需要对某一些代码的修改,但是又不想影响主要的开发,这个时候需要对当前的主分支做一些分支处理(branch)。
在分支的过程中,我们有时只需要对其中的一些文件或者某几个目录进行分支,但是当分支一多,往往对于我们的工作来说就是个噩梦,至少是TortoiseSVN是没有批处理的功能的,而他的命令行支持更是难用至极。
在最初的试验中,我采用命令行对分支进行批量操作,但是命令行一个是编写麻烦,另外就是日志信息不够明确,不能多个项目管理,而最致命的是,有时候命令行执行不成功,出现“目录无法访问”的异常,但实际上目录是可以访问的,手动用TortoiseSVN切换分支是可以的。
为了解决上述问题,我参考了SharpSVN,并花费了一天的时间,做出QuickSwitchSvnClient工具,专门用于批量Switch。
项目已经开源:https://quickswitchsvn.codeplex.com
该项目为了减少上传的文件大小,引用的第三方类库SharpSvn.dll并没有上传,各位可以到http://sharpsvn.open.collab.net/ 2.0下编译,并且区分32系统和64位系统,注意选择。
另外一个第三方类库是NLog.dll,请注意下载.net 2.0下的版本。该类库的下载地址为:http://nlog-project.org/download/
QuickSwitchSvnClient操作说明
工具栏操作
导入
支持从一个XML文件中导入SVNSwitch项目配置。导入根据配置名称做唯一标识。如果已存在,则更新当前树形节点,如果不存在,则新增一个根节点。
导出
默认导出当前树形的所有配置,如果要导出其中一个根节点的配置,则在根节点中右键点击导出。
清空日志
情况右侧日志区的日志信息
树形操作
Start Switch
开始根据根节点下的SVN Switch分支对指定的工作目录进行Switch操作,直到所有的Switch操作完成。
Add SVN Root
新增SVN节点配置,右键点击树形区域即可。
Edit SVN Root
右键点击根节点,可以修改SVN根节点的配置
Add Switch
添加Switch分支配置,右键点击根节点,点击右键的下拉按钮可以查看当前根节点下的所有的分支,可以选择其中一个分支然后在其上进行编辑
EditSwitch
点击分支即可对当前分支进行编辑
Delete Switch
删除一个分支
Export SVN Root
导出当前根节点下的配置信息
Copy from another root
未实现