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终端命令行颜色的方法,发 ...
随机推荐
- PHP分页代码
} <a href="fenye.php?page=<?php echo <?php } <a href="fenye ...
- Dependency Scope
Dependency Scope <dependency>中还引入了<scope>,它主要管理依赖的部署.目前<scope>可以使用5个值: * compile,缺 ...
- 封装获取dom元素
<script> //函数: 反复执行的代码块 //全局只有一个对象,防止全局变量污染 var itcast = { getElen : { tag : function(tag){ re ...
- JSP内置对象---request对象(用户登录页面(setAttribute))
在上节 request.jsp 中 添加脚本语句: <% request.setAttribute("password", "123456"); %> ...
- 【转】Linux查看机器负载
转自 http://blog.csdn.net/szchtx/article/details/38455385 感谢 负载(load)是Linux机器的一个重要指标,直观了反应了机器当前的状态.如果机 ...
- unity代码加密for Android,mono编译
uinty3d加密推荐几篇比较好的博客链接: http://www.cppcourse.com/u3d-encryption.html http://www.xuanyusong.com/archiv ...
- 常用HTML标签元素结合及简介
常用HTML标签元素结合及简介 <html></html> 创建一个HTML文档<head></head> 设置文档标题和其它在网页中不显示的信息< ...
- 通过js对cookie的使用手册
一般大多数人还是用引用JQuary API——jquery.cookie.js,来操作cookie.这是一种很不错的方式,我也支持这样的做法. 但是有时候我们只需要一种极为轻量级的代码来实现简单的功能 ...
- mysql 操作杂记
SHOW VARIABLES LIKE 'character%'; SET character_set_client = utf8; SET character_set_connection = ut ...
- JSTL标签库的使用
首先是四大标签库 核心 标签库 <%@ taglib uri="http://java.sun.com/jsp/jstl/core"%> 格式标签库 <%@ ta ...