出于代码审阅的目的,在修改现有源文件之后,我们只查看那些源文件中已更改的代码行。
在对存储库中的源文件进行更改之后,我们必须在执行我们的同行代码审查之前传达源文件中已更改的代码行。当在Windows中的两个文件上执行差异时,获取两个文件中差异的行数
我能够使用WinMerge看到视觉差异,我很满意它为我做了什么,但我的同事的唯一要求是简单地知道需要的文件名和行号审查。
有没有办法只得到一个更改文件的行号?该类型的文件是文本源文件,例如Javascript,Java和XML,XSL等等
样品files--
富(新版本):
a
b
c
d
e
f
g
h
i
j
k
FOO(旧版本):
a
b
C
d
h
i
k
我在寻找的输出:
foo: 3, 5-7, 10-11
OR
foo:
3
5-7
10-11
我敢肯定,一些程序允许这一点。我找不到一个。有什么建议么?我目前使用WinMerge,但任何在Windows上运行的程序都可以。如果软件是开放源代码或免费软件,则会更好。
编辑: GNU DiffUtils接近我想要的,但不完全符合我的需求。查看命令行选项,我将“-q”(或“--brief”)看作简化的diff,但它太简单了。 输出:
C:\Program Files\GnuWin32\bin>diff.exe -q foo1.txt foo2.txt
Files foo1.txt and foo2.txt differ
常规差异输出:
C:\Program Files\GnuWin32\bin>diff.exe foo1.txt foo2.txt
3c3
< c
---
> C
5,7d4
< e
< f
< g
10,11c7
< j
< k
---
> k
\ No newline at end of file
的diff -u输出:
C:\Program Files\GnuWin32\bin>diff.exe -u foo1.txt foo2.txt
--- foo1.txt 2010-11-09 15:47:12.447916000 -0600
+++ foo2.txt 2010-11-09 15:47:36.129954700 -0600
@@ -1,11 +1,7 @@
a
b
- c
+ C
d
- e
- f
- g
h
i
- j
- k
+ k
\ No newline at end of file
我正在寻找的东西比DIFF -q更多的信息,但比信息少diff -u和diff。任何差异ninjas谁知道不同的选择,以允许这?
我会一直在比较一个新的,最近修改过的文件和一个较旧的文件。我只需要那些需要审查新文件的东西。
人们通常使用“统一”差异输出diff -u。您还可以指定包含多少行上下文。此外,它看起来好像从正常输出中过滤出非数字的行将非常接近你想要的。 – 2010-11-10 19:55:58