THIS IS A TEST INSTANCE ONLY! REPOSITORIES CAN BE DELETED AT ANY TIME!

소스 검색

range-diff: don't remove funcname from inner diff

When postprocessing the inner diff in range-diff, we currently replace
the whole hunk header line with just "@@".  This matches how 'git
tbdiff' used to handle hunk headers as well.

Most likely this is being done because line numbers in the hunk header
are not relevant without other changes.  They can for example easily
change if a range is rebased, and lines are added/removed before a
change that we actually care about in our ranges.

However it can still be useful to have the function name that 'git
diff' extracts as additional context for the change.

Note that it is not guaranteed that the hunk header actually shows up
in the range-diff, and this change only aims to improve the case where
a hunk header would already be included in the final output.

Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
tags/v2.23.0-rc0
Thomas Gummerer Junio C Hamano 6 달 전
부모
커밋
e1db263084
2개의 변경된 파일7개의 추가작업 그리고 6개의 파일을 삭제
  1. +4
    -3
      range-diff.c
  2. +3
    -3
      t/t3206-range-diff.sh

+ 4
- 3
range-diff.c 파일 보기

@@ -119,9 +119,10 @@ static int read_patches(const char *range, struct string_list *list)
strbuf_addch(&buf, '\n');
}
continue;
} else if (starts_with(line, "@@ "))
strbuf_addstr(&buf, "@@");
else if (!line[0] || starts_with(line, "index "))
} else if (skip_prefix(line, "@@ ", &p)) {
p = strstr(p, "@@");
strbuf_addstr(&buf, p ? p : "@@");
} else if (!line[0] || starts_with(line, "index "))
/*
* A completely blank (not ' \n', which is context)
* line is not valid in a diff. We skip it


+ 3
- 3
t/t3206-range-diff.sh 파일 보기

@@ -110,7 +110,7 @@ test_expect_success 'changed commit' '
14
4: a63e992 ! 4: d966c5c s/12/B/
@@ -8,7 +8,7 @@
@@
@@ A
9
10
- B
@@ -169,7 +169,7 @@ test_expect_success 'changed commit with sm config' '
14
4: a63e992 ! 4: d966c5c s/12/B/
@@ -8,7 +8,7 @@
@@
@@ A
9
10
- B
@@ -231,7 +231,7 @@ test_expect_success 'dual-coloring' '
: 14<RESET>
:<RED>4: d966c5c <RESET><YELLOW>!<RESET><GREEN> 4: 8add5f1<RESET><YELLOW> s/12/B/<RESET>
: <REVERSE><CYAN>@@ -8,7 +8,7 @@<RESET>
: <CYAN> @@<RESET>
: <CYAN> @@ A<RESET>
: 9<RESET>
: 10<RESET>
: <REVERSE><RED>-<RESET><FAINT> BB<RESET>


불러오는 중...
취소
저장