git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Git has two ways to count modified lines

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Apr 5, 2022, 01:58 UTC
Message-ID
<220405.865ynomgkg.gmgdl@evledraar.gmail.com>
In-Reply-To
<c35bd0aa-2e46-e710-2b39-89f18bad0097@web.de>
On Mon, Apr 04 2022, René Scharfe wrote:
Show 32 quoted lines
> diff --git a/sequencer.c b/sequencer.c
> index a1bb39383d..85a17d45bd 100644
> --- a/sequencer.c
> +++ b/sequencer.c
> @@ -1327,7 +1327,6 @@ void print_commit_summary(struct repository *r,
>  	get_commit_format(format.buf, &rev);
>  	rev.always_show_header = 0;
>  	rev.diffopt.detect_rename = DIFF_DETECT_RENAME;
> -	rev.diffopt.break_opt = 0;
>  	diff_setup_done(&rev.diffopt);
>
>  	refs = get_main_ref_store(the_repository);
> diff --git a/t/t7524-commit-summary.sh b/t/t7524-commit-summary.sh
> new file mode 100755
> index 0000000000..47b2f1dc22
> --- /dev/null
> +++ b/t/t7524-commit-summary.sh
> @@ -0,0 +1,31 @@
> +#!/bin/sh
> +
> +test_description='git commit summary'
> +. ./test-lib.sh
> +
> +test_expect_success 'setup' '
> +	test_seq 101 200 >file &&
> +	git add file &&
> +	git commit -m initial &&
> +	git tag initial
> +'
> +
> +test_expect_success 'commit summary ignores rewrites' '
> +	git reset --hard initial &&
A leftover debugging aid? You can also use test_commit earlier:
	
	diff --git a/t/t7524-commit-summary.sh b/t/t7524-commit-summary.sh
	index 47b2f1dc22a..60027e86ccd 100755
	--- a/t/t7524-commit-summary.sh
	+++ b/t/t7524-commit-summary.sh
	@@ -4,14 +4,10 @@ test_description='git commit summary'
	 . ./test-lib.sh
	 
	 test_expect_success 'setup' '
	-	test_seq 101 200 >file &&
	-	git add file &&
	-	git commit -m initial &&
	-	git tag initial
	+	test_commit initial file "$(test_seq 101 200)"
	 '
	 
	 test_expect_success 'commit summary ignores rewrites' '
	-	git reset --hard initial &&
	 	test_seq 200 300 >file &&
	 
	 	git diff --stat >diffstat &&
Show 7 quoted lines
> +	test_seq 200 300 >file &&
> +
> +	git diff --stat >diffstat &&
> +	git diff --stat --break-rewrites >diffstatrewrite &&
> +
> +	# make sure this scenario is a detectable rewrite
> +	! test_cmp_bin diffstat diffstatrewrite &&

Is this really binary? I removed the ! and tried test_cmp, and it's just a diffstat.

Elsewhere in the test suite we test_cmp this output, would be clearer/easier to read to do the same here if possible.

Show 10 quoted lines
> +
> +	git add file &&
> +	git commit -m second >actual &&
> +
> +	grep "1 file" <actual >actual.total &&
> +	grep "1 file" <diffstat >diffstat.total &&
> +	test_cmp diffstat.total actual.total
> +'
> +
> +test_done
Previous: René ScharfeNext: René Scharfe
Message 6 of 7 in “Git has two ways to count modified lines”
  1. Laurent LyaudetMar 16, 2022
  2. Laurent LyaudetApr 2, 2022
  3. René ScharfeApr 2, 2022
  4. Laurent LyaudetApr 5, 2022
  5. René ScharfeApr 4, 2022
  6. Ævar Arnfjörð BjarmasonApr 5, 2022
  7. René ScharfeApr 5, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.