ubuntu(linux) svn(1.7) 使用kdiff3 merge主干
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ubuntu(linux) svn(1.7) 使用kdiff3 merge主干,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2451字,纯文字阅读大概需要4分钟。
内容图文
![ubuntu(linux) svn(1.7) 使用kdiff3 merge主干](/upload/InfoBanner/zyjiaocheng/1331/134eba561db54ddbb8290bdd24051639.jpg)
原因:在linux下面不能使用小乌龟(TortoiseSVN),idea下面不能使用svn merge主干代码,为了解决每次merge代码时启动虚拟机,又能像小乌龟(TortoiseSVN)一样方便。
方法:
1、安装kdiff3。跨系统且比较流行代码diff工具。
sudo apt-get install kdiff3
2、安装svn工具。
1) sudo apt-get install subversion subversion-tools
2) 降级安装svn(1.7),参考: KUbuntu/Ubuntu 14.04 (降级)安装 svn 1.7
3、配置脚本。
1)下载 svndiffwrapper.txt 。http://download.csdn.net/detail/love254443233/7941913
2)复制:sudo cp svndiffwrapper.txt /usr/bin/svndiffwrapper
3) 设置可运行权限。sudo chmod a+x /usr/bin/svndiffwrapper
4、修改svn配置信息
1)打开配置文件:vim ~/.subversion/config
2)修改diff工具及merge-tool-cmd工具的配置
### Set diff-cmd to the absolute path of your 'diff' program. ### This will override the compile-time default, which is to use ### Subversion's internal diff implementation. # diff-cmd = diff_program (diff, gdiff, etc.) diff-cmd = svndiffwrapper ### Set diff3-cmd to the absolute path of your 'diff3' program. ### This will override the compile-time default, which is to use ### Subversion's internal diff3 implementation. # diff3-cmd = diff3_program (diff3, gdiff3, etc.) diff3-cmd = svndiffwrapper ### Set diff3-has-program-arg to 'yes' if your 'diff3' program ### accepts the '--diff-program' option. # diff3-has-program-arg = [yes | no] ### Set merge-tool-cmd to the command used to invoke your external ### merging tool of choice. Subversion will pass 4 arguments to ### the specified command: base theirs mine merged # merge-tool-cmd = merge_command merge-tool-cmd =Kdiff3 "$1" "$2" "$3" -o "$4"5、merge主干。
1)命令行进入本地分支的工作目录,如/home/xx/work/svn/xx-hotel-image
提交分支(以防不测)。
svn commit -m "merge trunk"
2)copy主干(trunk)url,如 http://svn.xx.xx.com/svn/xx/xx/xx-api/trunk
3)merge代码 (最后面的“.”号可省略,因为操作第1)步)。
svn merge http://svn.corp.qunar.com/svn/mobile/mobfx/hms-api/trunk .
4)运行过程中遇到冲突时会提示,可选择(M)erge进入kdiff3界面操作,该界面跟windows下面使用小乌龟(TortoiseSVN)进行merge大致一样。
附:
1、界面操作方法
1)第一栏为分支新建的版本文件。第二栏是分支正在开发的文件。第三栏为trunk的文件。下面一栏是比较后输出的文件(output)。
2)output文件可以编辑,当不能满足merge需要时可以人为的修改。
2、svn merge其它常用命令
1)merge主干到本地分支:svn merge http://svn.xx.xx.com/svn/xx/xx/xx-api/trunk .
2)merge出错时使用回退该操作:
svn revert — 取消所有的本地编辑。恢复一整个目录的文件,可以使用--depth=infinity选项:
Svn revert --depth=infinity .
3)提交本地修改到服务器:
svn commit -m "merge trunk"
4)遇到如下错误:
svn: E155015: 提交失败(细节如下):
svn: E155015: 提交终止: “/home/xx/work/svn/xx-hotel-image/versions.mapping” 处于冲突状态
解决方法:svn resolved /home/xx/work/svn/xx-hotel-image/versions.mapping
5)等待建议。
原文:http://blog.csdn.net/love254443233/article/details/39396445
内容总结
以上是互联网集市为您收集整理的ubuntu(linux) svn(1.7) 使用kdiff3 merge主干全部内容,希望文章能够帮你解决ubuntu(linux) svn(1.7) 使用kdiff3 merge主干所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。