Для целей проверки кода после изменения существующего исходного файла мы просматриваем только строки кода, которые были изменены в этих исходных файлах.
После того, как я вношу изменения в исходные файлы в репозитории, я должен сообщить строки кода, которые были изменены в исходном файле, прежде чем мы сделаем наши обзоры с одноранговым кодом.Получите номера строк различий в двух файлах при выполнении diff для двух файлов в Windows
Я могу видеть визуальный diff с помощью WinMerge, и я доволен тем, что он делает для меня, но единственным требованием для моих сотрудников является просто знать имя файла и номера строк, которые должны быть обзор.
Есть ли способ получить только номера строк измененного файла? Типы файлов будет текстовые исходные файлы, такие как JavaScript, Java, XML, XSL и т.д.
Образец files--
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, будет в порядке со мной. Было бы предпочтительнее, если программное обеспечение является открытым исходным кодом или бесплатным.
EDIT: 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
дифф -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
Я ищу что-то более информативное, чем различия -q, но менее информативное, чем diff -u и diff. Какие-то разные ниндзя, которые знают разные варианты, чтобы это разрешить?
Я всегда буду сравнивать новый, недавно измененный файл с более старым. Мне нужны только то, что нужно пересмотреть в новом файле.
Люди обычно используют «унифицированный» дифференциальный выход 'diff -u'. Вы также можете указать, сколько строк контекста включить. Кроме того, похоже, что фильтрация строк, начинающихся с цифр без нормального вывода, будет действительно близка к тому, что вы хотели. –