2015-01-21 21:25:52

  这里先把那个程序员大神的博客地址贴一下(PS:大神,我不是为了抄袭哦,真是怕自己忘记了),http://www.ccvita.com/445.html,里面还有很多文章,我是顺手搜索到浏览了下,还有大神的减肥照片呢。嘻嘻!

  今天学习git的时候,说可以自己定义一个merge和diff程序来替换git diff命令执行时默认的diff程序,正好我最近天天在mac的Terminal上敲打着svn diff,就想尝试能不能把svn的默认diff也替换掉,可是又不知道svn的svn diff命令默认配置在哪里,于是Google到了上面那位大神了。(大神就是大神,我刚想到的东西大神已经玩烂了)

  不扯了,上面就是这篇笔记的产生背景,希望可以给后续有类似想法的同行们和记忆力极差的自己留个“案底”。

  第一步:下载、安装P4Merge(一个不错且免费的合并和解决冲突的图形化工具)

    下载地址:www.perforce.com/product/components/perforce-visual-merge-and-diff-tools

    Mac下安装目录:/Applications/p4merge.app/Contents/MacOS/p4merge

  第二步:写两个简单的shell脚本,特别简单

    脚本1:  /usr/local/bin/extMerge:

 #!/bin/sh
/Applications/p4merge.app/Contents/MacOS/p4merge $*

    

    脚本2:  /usr/local/bin/extDiff:

 #!/bin/sh
/usr/local/bin/extMerge "$6" "$7"

    确认这两个脚本是可执行的:

 $ sudo chmod +x /usr/local/bin/extMerge
$ sudo chmod +x /usr/local/bin/extDiff

  第三步:修改~/.subversion/config文件,

    将其中

 # diff-cmd = diff_program (diff, gdiff, etc.)

    替换成

 diff-cmd = /usr/local/bin/extDiff

  第四步:执行下source ~/.subversion/config,会输出有一些错误,不用管!骚年,任性的去执行svn diff吧,看看发生什么了。

  第五步:替换vimdiff。(请移步文章开始的大神博客地址吧),下面就是从大神哪里抄来的vimdiff替换方式。

  Note:

    无耻的抄袭下大神的shell脚本,你不会咬我吧。(以防那天大神不开心,不让我们学习拜读怎么办)

#!/bin/sh
# 配置你喜欢的diff程序路径
DIFF="vimdiff"
# SVN diff命令会传入两个文件的参数
LEFT=${}
RIGHT=${}
# 拼接成diff命令所需要的命令格式
$DIFF $LEFT $RIGHT

把这个文件改名为svndiff,放在/usr/local/bin/目录里,并给执行权限,剩下的替换操作如上。

    

最新文章

  1. [DOM Event Learning] Section 4 事件分发和DOM事件流
  2. 在IIS中实现JSP
  3. python学习-day20、装饰器【图片缺失可看】印象笔记博客备份
  4. Swift开发第六篇——操作运算符也可以重载& func 的参数修饰
  5. (26)odoo中的序列运用
  6. IOS的沙盒机制
  7. 时隔一年,window.scroll
  8. 【微信H5支付】微信公众号里H5网页点击调取微信支付
  9. 填坑 - 使用Entity Framework 6 + Sqlite进行DB first开发
  10. 分享Mvc3+NInject+EF+LigerUI权限系统
  11. swift 中Value Type VS Class Type
  12. NodeJS学习指南
  13. Caused by: java.lang.ClassNotFoundException: javax.persistence.Entity
  14. 高级软件工程第四次作业(C++)
  15. 输出一个对象,会默认执行toString()方法
  16. anaconda --包管理和环境管理器
  17. WPF样式中TargetType 属性 (Property) 和 x:Key 属性 (Attribute)
  18. ubuntu MySQL配置文件
  19. 如何使用Cassandra来存储time-series类型的数据
  20. KPI 私有CA

热门文章

  1. [原创]C#应用WindowsApi实现查找\枚举(FindWindow、EnumChildWindows)窗体控件,并发送消息。
  2. [深度优先搜索] POJ 3620 Avoid The Lakes
  3. μC/OS-Ⅲ系统的任务挂起表
  4. Android中Activity的生命周期
  5. Bootstrap学习笔记(一)
  6. 转-Apache的Order Allow,Deny 详解
  7. pickle 序列化反序列化
  8. hdu 1712, multiple-choice knapsack, 分类: hdoj 2015-07-18 13:25 152人阅读 评论(0) 收藏
  9. 浅谈Extjs radiogroup change事件与items下的checked属性
  10. Titanium studio安装