]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t7422: replace confusing printf with echo
authorJeff King <peff@peff.net>
Mon, 23 Jun 2025 10:55:42 +0000 (06:55 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 23 Jun 2025 17:30:40 +0000 (10:30 -0700)
While looping over a counter "i", we do:

  printf "[submodule \"sm-$i\"]\npath = recursive-submodule-path-$i\n" "$i"

So we are passing "$i" as an argument to be filled in, but there is no
"%" placeholder in the format string, which is a bit confusing to read.

We could switch both instances of "$i" to "%d" (and pass $i twice). But
that makes the line even longer. Let's just keep interpolating the value
in the string, and drop the confusing extra "$i" argument.

And since we are not using any printf specifiers at all, it becomes
clear that we can swap it out for echo. We do use a "\n" in the middle
of the string, but breaking this into two separate echo statements
actually makes it easier to read.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7422-submodule-output.sh

index 023a5cbdc44bac2389fca45cf7017750627c4ce9..ea67057f1a41d9b290280480c1b19c924d6dea7b 100755 (executable)
@@ -180,7 +180,8 @@ test_expect_success !MINGW 'git submodule status --recursive propagates SIGPIPE'
                COMMIT=$(git rev-parse HEAD) &&
                for i in $(test_seq 2000)
                do
-                       printf "[submodule \"sm-$i\"]\npath = recursive-submodule-path-$i\n" "$i" ||
+                       echo "[submodule \"sm-$i\"]" &&
+                       echo "path = recursive-submodule-path-$i" ||
                        return 1
                done >gitmodules &&
                BLOB=$(git hash-object -w --stdin <gitmodules) &&