在CVS中获取文件的前两个版本之间的差异

Bab*_*u S 13 cvs diff

有没有办法创建文件的差异b/w它在CVS回购中的前两个版本?我不关心修订号和本地签出文件.我需要的是,最后一次提交的差异和提交前的最后一次提交.

bor*_*ble 29

您可以使用

cvs diff -r FIRSTREVISION -r SECONDREVISION filename
Run Code Online (Sandbox Code Playgroud)

比较两个修订版.

可以直接进行比较,但我们也可以通过处理结果来自动化cvs log filename.因此,例如,您将获得最新的修订号

cvs log filename | grep ^revision | head -n 1 | cut -c 10-
Run Code Online (Sandbox Code Playgroud)

以及之前的修订版

cvs log filename | grep ^revision | head -n 2 | tail -n 1 | cut -c 10-
Run Code Online (Sandbox Code Playgroud)

您希望将它们合并在一起,因此创建一个BASH脚本文件(例如名为lastdiff.sh),其中包含:

cvs diff -r $(cvs log $1 | grep ^revision | head -n 2 | tail -n 1 | cut -c 10-) -r $(cvs log $1 | grep ^revision | head -n 1 | cut -c 10-) $1
Run Code Online (Sandbox Code Playgroud)

然后你可以通过以文件名作为参数执行它来获得你的差异,例如./lastdiff.sh文件名.