Revision 28eec80b602559403cca96531dce2930ac362095 authored by Junio C Hamano on 10 March 2016, 19:13:40 UTC, committed by Junio C Hamano on 10 March 2016, 19:13:41 UTC
The "v(iew)" subcommand of the interactive "git am -i" command was
broken in 2.6.0 timeframe when the command was rewritten in C.

* jc/am-i-v-fix:
  am -i: fix "v"iew
  pager: factor out a helper to prepare a child process to run the pager
  pager: lose a separate argv[]
2 parent s 9c17cca + 708b8cc
Raw File
t4049-diff-stat-count.sh
#!/bin/sh
# Copyright (c) 2011, Google Inc.

test_description='diff --stat-count'
. ./test-lib.sh

test_expect_success 'setup' '
	>a &&
	>b &&
	>c &&
	>d &&
	git add a b c d &&
	git commit -m initial
'

test_expect_success 'mode-only change show as a 0-line change' '
	git reset --hard &&
	test_chmod +x b d &&
	echo a >a &&
	echo c >c &&
	cat >expect <<-\EOF &&
	 a | 1 +
	 b | 0
	 ...
	 4 files changed, 2 insertions(+)
	EOF
	git diff --stat --stat-count=2 HEAD >actual &&
	test_i18ncmp expect actual
'

test_expect_success 'binary changes do not count in lines' '
	git reset --hard &&
	echo a >a &&
	echo c >c &&
	cat "$TEST_DIRECTORY"/test-binary-1.png >d &&
	cat >expect <<-\EOF &&
	 a | 1 +
	 c | 1 +
	 ...
	 3 files changed, 2 insertions(+)
	EOF
	git diff --stat --stat-count=2 >actual &&
	test_i18ncmp expect actual
'

test_expect_success 'exclude unmerged entries from total file count' '
	git reset --hard &&
	echo a >a &&
	echo b >b &&
	git ls-files -s a >x &&
	git rm -f d &&
	for stage in 1 2 3
	do
		sed -e "s/ 0	a/ $stage	d/" x
	done |
	git update-index --index-info &&
	echo d >d &&
	cat >expect <<-\EOF &&
	 a | 1 +
	 b | 1 +
	 ...
	 3 files changed, 3 insertions(+)
	EOF
	git diff --stat --stat-count=2 >actual &&
	test_i18ncmp expect actual
'

test_done
back to top