Mac、Linux更换命令行svn diff为P4Merge、vimdiff
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/目录里,并给执行权限,剩下的替换操作如上。
Mac、Linux更换命令行svn diff为P4Merge、vimdiff的更多相关文章
- mac linux rename命令行批量修改文件名
我的mac使用命令行批量修改名字时发现居然没有rename的指令: zsh: command not found: rename 所以使用HomeBrew先安装一下: ➜ ~ brew install ...
- mac安装GNU命令行工具
mac安装GNU命令行工具 2.添加的repo tap home/dupes brew install coreutils binutils diffutils ed -- ...
- Windows与Linux的命令行命令对比
Windows与Linux的命令行命令对比 * Windows不区分大小写,Linux区分大小写的. sn DOS Command UNIX Equivalent Effect 影响 1 ASSIGN ...
- Win10系统开启Linux Bash命令行
Win10系统开启Linux Bash命令行 导读 在Build2016上微软为了拉拢开发者发了个大招,那就是Win10一周年更新集成原生Linux Bash命令行功能,这将允许开发者或用户在Wind ...
- [转帖]Windows与Linux的命令行命令对比
Windows与Linux的命令行命令对比 https://www.cnblogs.com/sztom/p/10785140.html * Windows不区分大小写,Linux区分大小写的. sn ...
- Linux下命令行安装weblogic10.3.6
Linux下命令行安装weblogic10.3.6 一.安装前准备工作: 1.创建用户useradd weblogic;创建用户成功linux系统会自动创建一个和用户名相同的分组,并将该用户分到改组中 ...
- Linux学习心得之 Linux下命令行Android开发环境的搭建
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...
- 28个Unix/Linux的命令行神器_转
28个Unix/Linux的命令行神器 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具,有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具 ...
- PS1应用之——修改linux终端命令行各字体颜色
最近在学习linux操作系统(CentOS 6 & CentOS 7).觉得linux终端命令行全部为白色,会经常导致命令与输出内容难以分辨.于是上网找到修改linux终端命令行颜色的方法,发 ...
随机推荐
- 关于MVC4项目从32位机移到64位机编译报错解决方案
早上写了个MVC WEBAPI的demo 机子环境是:XP SP3+ VS2010 + ASP.NET MVC4 然后晚上拿回笔记本进行编译运行,结果报错如下: “/”应用程序中的服务器错误. 分析器 ...
- Adb refused a command 解决方法
原文:How To Fix Android Error Adb Refused A Command 地址:http://downloadfixit.com/android-error-adb-refu ...
- C#.NET微信公众账号接口开发系列文章整理--微信接口开发目录,方便需要的博友查询
前言: 涉及微信接口开发比较早也做的挺多的,有时间的时候整理了开发过程中一些思路案例,供刚学习微信开发的朋友参考.其实微信接口开发还是比较简单的,但是由于调试比较麻烦,加上微信偶尔也会给开发者挖坑,并 ...
- jquery_datatables
环境准备 1.dataTables 下载:http://download.csdn.net/detail/marskuroky/8173839 2.jsonObject 下载:http://downl ...
- WinPipe后门程序代码示例(仅限技术交流)
具体怎么编译,生成执行程序,不懂得先学习C++程序代码编译和集成开发环境. 多的不说了,只有两个代码文件,一个头文件,一个源文件.不多说了,直接上干货. (恶意使用,或者商用,后果自负,与本人无关.) ...
- 更新证书错误:No matching provisioning profiles found
在Xcode中当你在更新了你得证书而再重新编译你的程序,真机调试会出现“Your build settings specify a provisioning profile with the UUID ...
- CentOS 静态IP设置
一.CentOS 修改IP地址修改对应网卡的IP地址的配置文件 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 电信 # vi /etc/syscon ...
- React之事件绑定、列表中key的使用
在学习React的Hadding Events这一章节,发现事件回调函数的几种写法,看似区别不大,但实际差异还是蛮大的. class Toggle extends React.Component{ c ...
- linux下查看tomcat和jdk版本号
linux下查看tomcat和jdk版本号的命令: 这个需要进入到bin目录下面 ,执行"./version.sh"命令 [root@hncsweb bin]# ./version ...
- SQLServer - 约束
一.约束的分类 在SQLServer中,有3种不同类型的约束. 1.实体约束 实体约束是关于行的,比如某一行出现的值就不允许出现在其他行,例如主键. 2.域约束 域约束是关于列的,对于所有行,某一列有 ...