t0014: test shadowing of aliases for a sample of builtins

The previous commit added tests for shadowing deprecated builtins. Let’s make the test suite more complete by exercising a sample of the builtins and in turn test the documentation for git-config(1): To avoid confusion and troubles with script usage, aliases that hide existing Git commands are ignored except for deprecated commands. Signed-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Kristoffer Haugsbakk committed Sep 17, 2025 at 22:24 UTC 65d33db48e5a2c6dbf3f33d6eaa987f55dabe26a
1 file changed +17
t/t0014-alias.sh
+17
@@ -95,4 +95,21 @@ test_expect_success 'can alias-shadow via two deprecated builtins' '
95 test_cmp expect actual
96 '
97
98 +cannot_alias_regular_builtin () {
99 + cmd="$1" &&
100 + # some git(1) commands will fail... (see above)
101 + test_might_fail git "$cmd" -h >expect &&
102 + test_file_not_empty expect &&
103 + test_might_fail git -c alias."$cmd"=status "$cmd" -h >actual &&
104 + test_cmp expect actual
105 +}
106 +
107 +test_expect_success 'cannot alias-shadow a sample of regular builtins' '
108 + for cmd in grep check-ref-format interpret-trailers \
109 + checkout-index fast-import diagnose rev-list prune
110 + do
111 + cannot_alias_regular_builtin "$cmd" || return 1
112 + done
113 +'
114 +
115 test_done