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

[PATCH 08/10] t/t7003-filter-branch.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-9-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/t7003-filter-branch.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/t/t7003-filter-branch.sh b/t/t7003-filter-branch.sh
index 869e0bf..8868e6e 100755
--- a/t/t7003-filter-branch.sh
+++ b/t/t7003-filter-branch.sh
@@ -387,7 +387,7 @@ test_expect_success 'setup submodule' '
 	git branch original HEAD
 '
 
-orig_head=`git show-ref --hash --head HEAD`
+orig_head=$(git show-ref --hash --head HEAD)
 
 test_expect_success 'rewrite submodule with another content' '
 	git filter-branch --tree-filter "test -d submod && {
@@ -396,7 +396,7 @@ test_expect_success 'rewrite submodule with another content' '
 					 mkdir submod &&
 					 : > submod/file
 					 } || :" HEAD &&
-	test $orig_head != `git show-ref --hash --head HEAD`
+	test $orig_head != $(git show-ref --hash --head HEAD)
 '
 
 test_expect_success 'replace submodule revision' '
@@ -405,7 +405,7 @@ test_expect_success 'replace submodule revision' '
 	    "if git ls-files --error-unmatch -- submod > /dev/null 2>&1
 	     then git update-index --cacheinfo 160000 0123456789012345678901234567890123456789 submod
 	     fi" HEAD &&
-	test $orig_head != `git show-ref --hash --head HEAD`
+	test $orig_head != $(git show-ref --hash --head HEAD)
 '
 
 test_expect_success 'filter commit message without trailing newline' '
-- 
2.3.3.GIT
Previous: Elia PintoNext: Elia Pinto
Message 9 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.