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终端命令行颜色的方法,发 ...
随机推荐
- Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键
//获取屏幕尺寸,不包括虚拟功能高度 getWindowManager().getDefaultDisplay().getHeight(); 获取屏幕原始尺寸高度,包括虚拟功能键高度, private ...
- RSA加密,应用授权及MSSQL备份与还原
01.QBRSA加解密处理 --> a.利用 RSA密钥生成器生成密钥(e,n,d) [e,n]为私钥, [d,n]为公钥 b.正向加密: 用私钥加密,用公钥解密 c.反向加密: 用公钥加密 ...
- java解析XML文件
dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点,同时它也是一个开放源 ...
- 【复位】FGPA的复位 [部分转]
关于FGPA的复位 当初开始学FPGA的时候,总是疑惑:FPGA不是没有复位管教么,但总在always看到有复位信号.这个复位信号(我们暂且称为rst_n)从哪里来? 实际上是可以从两个方面获得的,这 ...
- C#之Lock
lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁. class Program { static void Main(string[] args) { Thre ...
- Man——send(2)翻译
##纯手打 Man——send(2) -->NAME: send, sendto, sendmsg - 在socket上发送一条消息 -->总览: #include <sys/typ ...
- spring通过静态方法获得properties文件的值
获得spring bean方法 @Component public class BeanUtils implements ApplicationContextAware { private stati ...
- 用PowerMock spy mock private方法
在实际的工作中,经常碰到只需要mock一个类的一部分方法,这时候可以用spy来实现. 被测类: public class EmployeeService { public boolean exist( ...
- HttpRequestUtil
package com.didichuxing.tempdirreader; import com.alibaba.fastjson.JSONObject; import java.io.Unsupp ...
- Javascript轮播 支持平滑和渐隐两种效果(可以只有两张图)
先上两种轮播效果:渐隐和移动 效果一:渐隐 1 2 3 4 效果二:移动 1 2 3 4 接下来,我们来大致说下整个轮播的思路: 一.先来看简单的,移动的,先上来一个图----移动效果图: 说明: ...