svn版本管理软件——svn发布补丁和打补丁
2017-09-04 10:42
507 查看
svn和git一样有发布补丁和打补丁的功能,发布补丁是用在一个小型bug或小型功能的改进上,而尚未到提交版本的时候。在提交版本修改代码的工作尚未完成的时候,突然急需修复一个功能或bug的时候这时就可以将修改后的代码以打补丁的形式发布。
svn创建补丁
svn创建补丁在右键菜单的svn功能列表中,创建补丁的位置和鼠标在svn中的哪个文件夹或文件夹内的空白区域右键调出的svn菜单功能很重要,比如在svn工作区中的某文件夹codefile/目录下单击右键创建svn补丁,那这个补丁要使用,只能将该补丁放在需要打补丁的版本的codefile/目录下应用才能打上补丁,不然其他的方法都是错误的,git也是如此。svn补丁的后缀名为.patch。 svn补丁和git相比还多了一个使用目的,即svn为成员受限的形式,有的成员只有只读权限,不能提交修改的代码,那么他们修改代码后将改动打包成补丁的形式,发送给更高级的成员,给这些成员审核代码并将代码合并进版本库中。
1、将修改的内容创建补丁
在修改的文件或文件夹下单击右键,点击创建补丁,选中需要创建补丁的文件,保存即可,使用git形式的保存会有些不同,但不影响打补丁。如下图所示。
svn的补丁形式如下所示
Index: patch.txt ============================================= --- patch.txt (版本 4) +++ patch.txt (工作副本) @@ -1,3 +1,5 @@ patch diff test patch is 2 + +svn patch \ No newline at end of file
2、将svn的某个提交创建补丁
在显示日志中选择“已标准差异格式显示改变”,即可显示该提交所改变的内容,形式和的一 模一样,将文本另存为保存到.patch文件中即可,如下图所示。
svn打补丁
将补丁放置在需要打补丁的工作区,放置要放置在相应的位置上,在哪个文件夹创建的补丁就放置在这个文件夹下。 选中补丁,单击右键,应用补丁,在弹出的编辑器中选择修补全部项目,也可以修补单个文件项目,如下图所示。
打上使用git形式创建的补丁会有些不同,因为该目录会出错,打补丁不正常,建议创建补丁时不使用git形式补丁,属于svn的bug。除非手动修改该补丁的路径关联,将路径绝对路径的顶级文件去掉,这里不介绍这麻烦的步骤。 用svn打补丁有个bug,即该补丁可以继续打补丁,将内容往下覆盖。而git会 明显的提示,不会出现这种bug。
如补丁文件如下所示
Index: patch.txt ============================================== --- patch.txt (版本 7) +++ patch.txt (工作副本) @@ -1,3 +1,5 @@ patch diff test +svn diff test + svn patch \ No newline at end of file
多次应用该补丁后文件会变成如下图所示。
svn撤销补丁
svn图形界面下没有撤销补丁的选项,只能使用svn还原,如下图所示。
打补丁或更新代码造成的冲突解决
svn打补丁如果有冲突的话会系统会拒绝打补丁,并且补丁只会进行叠加。 更新代码会照成冲突,就是更新的代码改动刚好与本地工作区的改动照成冲突,如下图所示。
冲突的表现形式如下所示。
<<<<<<< .mine patch diff test 2016.01.08 project test ||||||| .r8 patch diff test 2016.01.08 test1 ======= patch diff test 2016.01.08 master test >>>>>>> .r9
.mine代表当前工作区的代码版本的改动 .r8代表当前版本的上一个版本的改动 .r9代表最新版本的改动
svn会将这三个改动以完整文件的形式保存将版本变成后缀名,同时该文件的svn重载图标会改变,如下图所示。
1、手动修改,和git的修改一样,将冲突标志去掉,保存最新的修改结果,修改完成后单击右键调出svn菜单,选择解决即可,svn会将自动创建的临时对比文件删除。如下图所示。
2、系统修改,选择文件,调出svn菜单,选择编辑冲突,如下图所示。
在已合并文本中选择冲突部分,单击右键弹出菜单,菜单有多种解决方式,如下图所示。
冲突解决后保存文件,会弹出提示标记为已解决,如图5.4.0.6所示。
此时退出编辑器,svn会将自动创建的临时对比文件删除。
相关文章推荐
- git版本管理软件——git发布补丁和打补丁
- 用svn管理软件版本信息
- SVN版本管理使用中更换发布和连接重置
- 工具:SVN 管理软件版本的一些心得
- SVN版本管理使用中更换发布和连接重置
- svn版本管理软件——初始化配置
- 开源项目管理软件禅道ZenTaoPMS发布0.5 beta版本
- 开源项目管理软件(scrum管理工具)禅道发布1.0 rc1版本
- 对CVS,SVN等软件版本管理中Tag,branch,merge的一点理解
- MYPM 国产非开源免费测试管理工具软件 WEB2.0用户体验零配置安装版本发布
- SVN软件版本管理
- SVN 代码版本管理软件
- SVN软件开发版本管理
- MYPM 国产非开源免费测试管理工具软件 WEB2.0用户体验零配置安装版本发布
- 安装版本管理软件-SVN
- svn版本管理软件——svn日常管理代码
- 源代码管理软件CodeHelp发布2.0版本
- SVN版本管理软件的配置与安装
- 使用SVN管理软件版本,解决协作问题
- 【安卓学习之工具学习】软件版本管理工具-Eclipse SVN插件Subclipse