summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 8f81449)
raw | patch | inline | side by side (parent: 8f81449)
author | Jonathan Nieder <jrnieder@gmail.com> | |
Sat, 26 Jun 2010 19:25:37 +0000 (14:25 -0500) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Mon, 28 Jun 2010 17:31:17 +0000 (10:31 -0700) |
When git is passed the --paginate option, starting up a pager requires
deciding what pager to start, which requires access to the core.pager
configuration. If --paginate is handled before searching for the
git dir, this configuration will be missed.
In other words, with --paginate and only with --paginate, any
repository-local core.pager setting is being ignored [*].
[*] unless the git directory is ./.git or GIT_DIR or GIT_CONFIG was
set explicitly.
Add a test to demonstrate this counterintuitive behavior. Noticed
while reading over a patch by Duy that fixes it.
Cc: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Improved-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
deciding what pager to start, which requires access to the core.pager
configuration. If --paginate is handled before searching for the
git dir, this configuration will be missed.
In other words, with --paginate and only with --paginate, any
repository-local core.pager setting is being ignored [*].
[*] unless the git directory is ./.git or GIT_DIR or GIT_CONFIG was
set explicitly.
Add a test to demonstrate this counterintuitive behavior. Noticed
while reading over a patch by Duy that fixes it.
Cc: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Improved-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7006-pager.sh | patch | blob | history |
diff --git a/t/t7006-pager.sh b/t/t7006-pager.sh
index 4420f9169389100f9b05b83792b6b23da280cedf..2b106be9e9da60279b21036306472f3884e19487 100755 (executable)
--- a/t/t7006-pager.sh
+++ b/t/t7006-pager.sh
"
}
+test_core_pager_subdir() {
+ parse_args "$@"
+
+ $test_expectation TTY "$cmd - core.pager from subdirectory" "
+ unset GIT_PAGER;
+ rm -f core.pager_used &&
+ rm -fr sub ||
+ cleanup_fail &&
+
+ PAGER=wc &&
+ stampname=\$(pwd)/core.pager_used &&
+ export PAGER stampname &&
+ git config core.pager 'wc >\"\$stampname\"' &&
+ mkdir sub &&
+ (
+ cd sub &&
+ $full_command
+ ) &&
+ test -e core.pager_used
+ "
+}
+
test_GIT_PAGER_overrides() {
parse_args "$@"
test_default_pager expect_success 'git log'
test_PAGER_overrides expect_success 'git log'
test_core_pager_overrides expect_success 'git log'
+test_core_pager_subdir expect_success 'git log'
test_GIT_PAGER_overrides expect_success 'git log'
test_default_pager expect_success 'git -p log'
test_PAGER_overrides expect_success 'git -p log'
test_core_pager_overrides expect_success 'git -p log'
+test_core_pager_subdir expect_failure 'git -p log'
test_GIT_PAGER_overrides expect_success 'git -p log'
test_default_pager expect_success test_must_fail 'git -p'
test_PAGER_overrides expect_success test_must_fail 'git -p'
test_core_pager_overrides expect_success test_must_fail 'git -p'
+test_core_pager_subdir expect_failure test_must_fail 'git -p'
test_GIT_PAGER_overrides expect_success test_must_fail 'git -p'
test_default_pager expect_success test_must_fail 'git -p nonsense'
test_PAGER_overrides expect_success test_must_fail 'git -p nonsense'
test_core_pager_overrides expect_success test_must_fail 'git -p nonsense'
+test_core_pager_subdir expect_failure test_must_fail 'git -p nonsense'
test_GIT_PAGER_overrides expect_success test_must_fail 'git -p nonsense'
test_done