【P4】 查看库文件两个历史版本的区别

简介: 【P4】 查看库文件两个历史版本的区别

需求提出


想要比较本地文件跟库中文件的不同,可以用 p4 diff file。那么该如何比较库中两个历史版本呢?比如要比较文件 A 的两个版本 m 和 n,大致有以下几种方法:


  1. 采用 p4 diff2 A#m A#n 来进行比较,但这样仅在屏幕上显示不同之处,不是很直观。


  1. 将两个版本的文件 check out 到本地并分别命名,然后用 tkdiff、meld、bcompare 等工具来比较两个文件。该方法能够左右两栏显示两个版本的区别,比方法 1 在展示效果上更直观,但是操作起来较为繁琐。若当前文件已经被 edit 了,过程就更繁琐了,还得先 revert,等比较完毕再重新 edit。


以上两种方法各有利弊,有没有展示效果好又操作比较简单的方法呢?自己写呗。



脚本特性


  今天要讲的方法原理跟方法 2 类似,但不用考虑文件被 edit 的问题——借用 p4 print 来中转。思路如下:采用 p4 print 分别打印待比对文件的两个版本到本地临时文件,然后 bcompare 比对,最后删除临时文件。




脚本


  脚本名为 p4_diff2.sh,为方便使用请在~/.bashrcalias p4_diff2 'sh ~/script/p4_diff2.sh'


#! /usr/bin/sh
# File Name : p4_diff2.sh
# Usage       : sh p4_diff2.sh file v1 v2
file=$1
v1=$2
v2=$3
p4 print $file#$v1 > .$file.$v1
p4 print $file#$v2 > .$file.$v2
bcompare .$file.$v1 .$file.$v2
rm .$file.$v1 .$file.$v2
目录
相关文章
|
6月前
|
Python
如何查询Python包的所有历史版本
如何查询Python包的所有历史版本
144 5
|
6月前
|
Ubuntu Linux 编译器
当自身需要使用的 gcc版本 和Linux 默认版本 存在大版本差异时怎样处理
当自身需要使用的 gcc版本 和Linux 默认版本 存在大版本差异时怎样处理
153 2
|
7月前
|
安全 Linux 开发者
Windows系统历史版本简介
Windows系统历史版本简介
158 0
|
小程序 Linux C语言
Linux实现进度条小程序(包含基础版本和模拟下载过程版本)(上)
Linux实现进度条小程序(包含基础版本和模拟下载过程版本)
|
小程序 Linux C语言
Linux实现进度条小程序(包含基础版本和模拟下载过程版本)(下)
Linux实现进度条小程序(包含基础版本和模拟下载过程版本)
|
Linux Shell 开发工具
Linux中多种方法实时记录历史命令
系统中的历史命令对于后期排除故障非常有用。一般都需要把历史命令给保存起来。
7129 0
|
数据库
自然框架的源代码、Demo、数据库、配置信息管理程序下载(2011.1.7更新)
自然框架在线演示:http://demo.naturefw.com/ 目前在线演示不开放管理员账号。   自然框架的网站已经基本完成,下载就转到网站里面了,http://www.naturefw.com/down/List1.aspx 请到这里下载。
937 0