出于代码审查的目的,修改现有源文件后,我们仅审查那些源文件中已更改的代码行。
在对存储库中的源文件进行更改后,我必须在进行同行代码审查之前传达源文件中已更改的代码行。
我能够使用 WinMerge 看到视觉差异,我对它为我所做的很满意,但对我的同事的唯一要求只是知道需要审查的文件名和行号.
有没有办法只获取更改文件的行号?文件类型为文本源文件,如 Javascript、Java、XML、XSL 等。
示例文件--
foo(新版本):
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
或
foo:
3
5-7
10-11
我确信某些程序允许这样做。我只是找不到一个。有什么建议么?我目前正在使用 WinMerge,但任何在 Windows 上运行的程序都适合我。如果软件是开源软件或免费软件,那将是更好的选择。
编辑: GNU DiffUtils 接近我想要的,但不完全符合我的需要。查看命令行选项,我将“-q”(或“--brief”)视为简化的差异,但它太简单了。 输出:
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 信息量少的东西。那里有任何不同的忍者知道不同的选择来允许这样做吗?
我总是将最近修改的新文件与旧文件进行比较。我只需要在新文件上需要审核的内容。
最佳答案
GNU DiffUtils 是开源的、免费的,并且有 a Windows port .
关于windows - 在 Windows 中对两个文件执行差异时获取两个文件差异的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4139083/