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

[PATCH 09/10] t/t7004-tag.sh: use the $( ... ) construct for command substitution

From
Elia Pinto <gitter.spiros@gmail.com>
Date
Jan 7, 2016, 13:51 UTC
Message-ID
<1452174710-28188-10-git-send-email-gitter.spiros@gmail.com>
In-Reply-To
<1452174710-28188-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/t7004-tag.sh | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh
index 3dd2f51..2797f22 100755
--- a/t/t7004-tag.sh
+++ b/t/t7004-tag.sh
@@ -23,8 +23,8 @@ test_expect_success 'listing all tags in an empty tree should succeed' '
 '
 
 test_expect_success 'listing all tags in an empty tree should output nothing' '
-	test `git tag -l | wc -l` -eq 0 &&
-	test `git tag | wc -l` -eq 0
+	test $(git tag -l | wc -l) -eq 0 &&
+	test $(git tag | wc -l) -eq 0
 '
 
 test_expect_success 'looking for a tag in an empty tree should fail' \
@@ -72,8 +72,8 @@ test_expect_success 'listing all tags if one exists should succeed' '
 '
 
 test_expect_success 'listing all tags if one exists should output that tag' '
-	test `git tag -l` = mytag &&
-	test `git tag` = mytag
+	test $(git tag -l) = mytag &&
+	test $(git tag) = mytag
 '
 
 # pattern matching:
@@ -83,7 +83,7 @@ test_expect_success 'listing a tag using a matching pattern should succeed' \
 
 test_expect_success \
 	'listing a tag using a matching pattern should output that tag' \
-	'test `git tag -l mytag` = mytag'
+	'test $(git tag -l mytag) = mytag'
 
 # todo: git tag -l now returns always zero, when fixed, change this test
 test_expect_success \
@@ -92,7 +92,7 @@ test_expect_success \
 
 test_expect_success \
 	'listing tags using a non-matching pattern should output nothing' \
-	'test `git tag -l xxx | wc -l` -eq 0'
+	'test $(git tag -l xxx | wc -l) -eq 0'
 
 # special cases for creating tags:
 
@@ -102,13 +102,13 @@ test_expect_success \
 
 test_expect_success \
 	'trying to create a tag with a non-valid name should fail' '
-	test `git tag -l | wc -l` -eq 1 &&
+	test $(git tag -l | wc -l) -eq 1 &&
 	test_must_fail git tag "" &&
 	test_must_fail git tag .othertag &&
 	test_must_fail git tag "other tag" &&
 	test_must_fail git tag "othertag^" &&
 	test_must_fail git tag "other~tag" &&
-	test `git tag -l | wc -l` -eq 1
+	test $(git tag -l | wc -l) -eq 1
 '
 
 test_expect_success 'creating a tag using HEAD directly should succeed' '
-- 
2.3.3.GIT
Previous: Elia PintoNext: Elia Pinto
Message 10 of 12 in “use the $( ... ) construct for command substitution”
  1. 00/10 use the $( ... ) construct for command substitutionElia Pinto, Jan 7, 2016
  2. 01/10 t/t5900-repo-selection.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 7, 2016
  3. 02/10 t/t6001-rev-list-graft.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 7, 2016
  4. 03/10 t/t6002-rev-list-bisect.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 7, 2016
  5. 04/10 t/t6015-rev-list-show-all-parents.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 7, 2016
  6. 05/10 t/t6032-merge-large-rename.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 7, 2016
  7. 06/10 t/t6132-pathspec-exclude.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 7, 2016
  8. 07/10 t/t7001-mv.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 7, 2016
  9. 08/10 t/t7003-filter-branch.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 7, 2016
  10. 09/10 t/t7004-tag.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 7, 2016
  11. 10/10 t/t7006-pager.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 7, 2016
  12. Junio C HamanoJan 7, 2016

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.