SVN diff 笔记
SVN diff命令在实际中经常使用,在此记录使用点滴。

--- wwl.test (revision 15) ---表示对比old版本
+++ wwl.test (revision 16) +++表示对比new版本
@@ -7,7 +7,7 @@ -:表示old版本;+:表示new版本;7,7:表示从第七行开始的后七行(即7-13行)old和new的对比;如果行数比较多系统会自动分行;只会显示增删改行和相近行数,其他不会显示。
-:表示old版本有new没有
+:表示new版本有old没有
没有标识的表示old和new版本此行一致
下图为删除5,6两行后的diff输出:

当使用一个外部的diff命令时,Subversion会生成一个非常复杂的命令行。第一个参数就是具体的--diff-cmd,然后就是具体的--extensions (尽管使用空白的 --符号时会忽略扩展),或者如果没有指定--extensions或者--extensions为空的话,就加上‘-u’参数。第三和第四个参数,Subversion会传递一个“-L”还有第一个文件的标签(例如,“"project_issues.html (revision 11209)”)。第五个和第六个就是另一个“-L”和第二个文件的标签。第七和第八个参数分别是第一个和第二个文件的名称(例如,“.svn/text-base/project_issues.html.svn-base”和“.svn/tmp/project_issues.html.tmp”)。
如果你指定的diff命令不支持这些参数的话,你可能需要创建一个简单的封装脚本来忽略这些参数,然后将最后的你需要的文件的路径参数传递给diff命令。
警告:Subversion并不希望外部的diff工具会改变它接收到的文件,否则可能会破坏当前工作拷贝。
http://subversion.apache.org/faq.zh.html#diff-cmd
因此比较2个文件时,只要知道这2个文件的路径及文件名就可以了,也就是上述diff内部命令中的第7个和第8个2个参数。
#安装:

1 #!/bin/sh
2 #Configure your diff program here
3 #DIFF="usr/bin/meld"
4 DIFF="meld"
5 OLD=${6}
6 NEW=${7}
7 $DIFF $OLD $NEW

#如果脚本目录和名称不同自行使用绝对路径





1 #!/bin/sh
2 #Configure your diff program here
3 #DIFF="usr/bin/kdiff3"
4 DIFF="kdiff3"
5 OLD=${6}
6 NEW=${7}
7 YOUR=${8}
8 $DIFF $OLD $NEW $YOUR

#如果脚本目录和名称不同自行使用绝对路径

@ECHO OFF REM Configure your favorite kdiff3/merge program here.
SET DIFF3="D:\Software\KDiff3\kdiff3.exe" REM 有效使用的只有OLD和NEW,YOURS只是凑数的
SET OLD=%6
SET NEW=%7
SET YOURS=%8 REM %DIFF3% %OLD% %NEW% %YOURS%
%DIFF3% %OLD% %NEW% %YOURS%

svn help diff:
diff (di): 显示两个版本或路径的差异。
SVN diff 笔记的更多相关文章
- Mac、Linux更换命令行svn diff为P4Merge、vimdiff
2015-01-21 21:25:52 这里先把那个程序员大神的博客地址贴一下(PS:大神,我不是为了抄袭哦,真是怕自己忘记了),http://www.ccvita.com/445.html,里面还有 ...
- svn diff 详解
UI版: 如果多人编辑同一段代码,常常容易出现冲突的情况: 如果出现冲突,我们如何解决他呢? 1 可以选择使用自己的文件mime file,也可以使用 他们的文件 their file 2 解决冲突, ...
- 如何使用 vimdiff 来 git diff /svn diff
#git 如何实现vimdiffgit config --global diff.tool vimdiff git config --global difftool.prompt false git ...
- CentOS(Linux) - SVN使用笔记(一) - 安装SVN过程及开启和关闭svn服务指令
1.安装: yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql yum remove subversion 删除旧版 ...
- CentOS(Linux) - SVN使用笔记(二) - 创建SVN仓库及下载仓库到本地
1.安装: 参考文章 CentOS(Linux) - SVN使用笔记(一) - 安装SVN过程及开启和关闭svn服务指令 2.创建仓库 #创建项目目录 mkdir /usr/svn#进入目录cd / ...
- svn小技巧——重定向svn diff
svn diff的默认输出模式比较冗长,如果遇到修改比较多的情况,有时会较难看清diff.svn本身提供了自定义diff输出的选项,可能的修改方法如下: 建立一个脚本文件(如svndiff.sh),调 ...
- [转]svn diff 替代工具
svn diff 替代工具 http://blog.csdn.net/fudesign2008/article/details/8168811 一. 使用vimdiff替换svn diff: 对于多数 ...
- SVN mime-type 笔记
背景: 1.最近使用执行svn diff的时候发现有些文本文件无法显示: 2.浏览器会通过判断获取文件的 MIME 类型, 调用不同的客户端程序或使用不同的方式来执行.如果文件的 MIME 缺失或者有 ...
- svn log笔记
背景: svn,版本 1.7.8 以下所有命令直接和svn服务器进行交互并没有checkout代码到本地 1.查询分支从拉出来到现在的变更: svn log branche_url --stop-on ...
随机推荐
- SlickOne敏捷开发框架介绍(一) -- 基于Dapper, Mvc和WebAPI 的快速开发框架
前言:在两年前(最初发布时间:2013年1月9日(csdn),当前文章时间2015年11月10日),项目组推出了基于Dapper,Mvc和WebApi的快速开发框架,随着后续Slickflow产品的实 ...
- vue-router query和params传参(接收参数),$router、$route的区别
链接:https://segmentfault.com/a/1190000012735168 1.query方式传参和接收参数 传参: this.$router.push({ path:'/xxx' ...
- Win8开机直接进桌面方法
最新的Win8系统由于新增开始屏幕(UI)界面,专门为触摸设备准备,并且很多喜欢尝鲜的电脑爱好者朋友在我们传统的电脑上安装了Win8系统,不少PC用户开始都不喜欢Win8开机后进入UI界面而非传统的电 ...
- DISQLite3 - A self-contained, embeddable, zero-configuration SQL database engine for Delphi
DISQLite3 implements a self-contained, embeddable, zero-configuration SQL database engine for Delphi ...
- 制作MACOSX10.10.3/10.9安装启动盘U盘的教程
下载MACOSX 10.10.3/10.9镜像文件,下载地址http://www.chinamac.com/download/mac14032.html1.准备好你需要的大于等于6G以上的U盘或者移动 ...
- JVM内存模型及垃圾回收算法
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- KJBitmap使用方法
摘要 本文原创,转载请注明地址:http://kymjs.com/code/2015/03/25/01 摘要 好像最近一个月都没有写博客了,正好伴着KJFrameForAndroid 更新v2.14版 ...
- Tomcat 7 的七大新特性
英文原文:Top 7 Features in Tomcat 7: The New and the Improved Tomcat的7引入了许多新功能,并对现有功能进行了增强.很多文章列出了Tomcat ...
- 10 Big Data Possibilities for 2017 Based on Oracle's Predictions
2017 will see a host of informed predictions, lower costs, and even business-centric gains, courtesy ...
- 附1 hystrix详述(1)
一.hystrix的作用 控制被依赖服务的延时和失败 防止在复杂系统中的级联失败 可以进行快速失败(不需要等待)和快速恢复(当依赖服务失效后又恢复正常,其对应的线程池会被清理干净,即剩下的都是未使用的 ...