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

[PATCH 01/10] t/t5303-pack-corruption-resilience.sh: use the $( ... ) construct for command substitution

From
Elia Pinto <gitter.spiros@gmail.com>
Date
Dec 23, 2015, 13:45 UTC
Message-ID
<1450878358-7422-2-git-send-email-gitter.spiros@gmail.com>
In-Reply-To
<1450878358-7422-1-git-send-email-gitter.spiros@gmail.com>

The Git CodingGuidelines prefer the $(...) construct for command substitution instead of using the backquotes `...`.

The backquoted form is the traditional method for command substitution, and is supported by POSIX. However, all but the simplest uses become complicated quickly. In particular, embedded command substitutions and/or the use of double quotes require careful escaping with the backslash character.

The patch was generated by:
for _f in $(find . -name "*.sh")
do
	perl -i -pe 'BEGIN{undef $/;} s/`(.+?)`/\$(\1)/smg'  "${_f}"
done
and then carefully proof-read.
Signed-off-by: Elia Pinto <gitter.spiros@gmail.com>
---
 t/t5303-pack-corruption-resilience.sh | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/t/t5303-pack-corruption-resilience.sh b/t/t5303-pack-corruption-resilience.sh
index 663b02b..5940ce2 100755
--- a/t/t5303-pack-corruption-resilience.sh
+++ b/t/t5303-pack-corruption-resilience.sh
@@ -32,23 +32,23 @@ create_test_files() {
 create_new_pack() {
     rm -rf .git &&
     git init &&
-    blob_1=`git hash-object -t blob -w file_1` &&
-    blob_2=`git hash-object -t blob -w file_2` &&
-    blob_3=`git hash-object -t blob -w file_3` &&
-    pack=`printf "$blob_1\n$blob_2\n$blob_3\n" |
-          git pack-objects $@ .git/objects/pack/pack` &&
+    blob_1=$(git hash-object -t blob -w file_1) &&
+    blob_2=$(git hash-object -t blob -w file_2) &&
+    blob_3=$(git hash-object -t blob -w file_3) &&
+    pack=$(printf "$blob_1\n$blob_2\n$blob_3\n" |
+          git pack-objects $@ .git/objects/pack/pack) &&
     pack=".git/objects/pack/pack-${pack}" &&
     git verify-pack -v ${pack}.pack
 }
 
 do_repack() {
-    pack=`printf "$blob_1\n$blob_2\n$blob_3\n" |
-          git pack-objects $@ .git/objects/pack/pack` &&
+    pack=$(printf "$blob_1\n$blob_2\n$blob_3\n" |
+          git pack-objects $@ .git/objects/pack/pack) &&
     pack=".git/objects/pack/pack-${pack}"
 }
 
 do_corrupt_object() {
-    ofs=`git show-index < ${pack}.idx | grep $1 | cut -f1 -d" "` &&
+    ofs=$(git show-index < ${pack}.idx | grep $1 | cut -f1 -d" ") &&
     ofs=$(($ofs + $2)) &&
     chmod +w ${pack}.pack &&
     dd of=${pack}.pack bs=1 conv=notrunc seek=$ofs &&
-- 
2.3.3.GIT
Previous: Elia PintoNext: Elia Pinto
Message 2 of 11 in “use the $( ... ) construct for command substitution”
  1. 00/10 use the $( ... ) construct for command substitutionElia Pinto, Dec 23, 2015
  2. 01/10 t/t5303-pack-corruption-resilience.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 23, 2015
  3. 02/10 t/t5304-prune.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 23, 2015
  4. 03/10 t/t5305-include-tag.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 23, 2015
  5. 04/10 t/t5500-fetch-pack.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 23, 2015
  6. 05/10 t/t5505-remote.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 23, 2015
  7. 06/10 t/t5506-remote-groups.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 23, 2015
  8. 07/10 t/t5510-fetch.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 23, 2015
  9. 08/10 t/t5515-fetch-merge-logic.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 23, 2015
  10. 09/10 t/t5516-fetch-push.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 23, 2015
  11. 10/10 t/t5517-push-mirror.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 23, 2015

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.