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

[PATCH 04/12] t9132-git-svn-broken-symlink.sh: use the $( ... ) construct for command substitution

From
Elia Pinto <gitter.spiros@gmail.com>
Date
Jan 12, 2016, 11:49 UTC
Message-ID
<1452599378-47882-5-git-send-email-gitter.spiros@gmail.com>
In-Reply-To
<1452599378-47882-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/t9132-git-svn-broken-symlink.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/t/t9132-git-svn-broken-symlink.sh b/t/t9132-git-svn-broken-symlink.sh
index 6c4c90b..aeceffa 100755
--- a/t/t9132-git-svn-broken-symlink.sh
+++ b/t/t9132-git-svn-broken-symlink.sh
@@ -87,7 +87,7 @@ test_expect_success 'clone using git svn' 'git svn clone -r1 "$svnrepo" x'
 
 test_expect_success SYMLINKS '"bar" is a symlink that points to "asdf"' '
 	test -L x/bar &&
-	(cd x && test xasdf = x"`git cat-file blob HEAD:bar`")
+	(cd x && test xasdf = x"$(git cat-file blob HEAD:bar)")
 '
 
 test_expect_success 'get "bar" => symlink fix from svn' '
@@ -96,7 +96,7 @@ test_expect_success 'get "bar" => symlink fix from svn' '
 
 test_expect_success SYMLINKS '"bar" remains a proper symlink' '
 	test -L x/bar &&
-	(cd x && test xdoink = x"`git cat-file blob HEAD:bar`")
+	(cd x && test xdoink = x"$(git cat-file blob HEAD:bar)")
 '
 
 test_done
-- 
2.5.0
Previous: Elia PintoNext: Elia Pinto
Message 5 of 15 in “use the $( ... ) construct for command substitution”
  1. 00/12 use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  2. 01/12 t9119-git-svn-info.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  3. 02/12 t9129-git-svn-i18n-commitencoding.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  4. 03/12 t9130-git-svn-authors-file.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  5. 04/12 t9132-git-svn-broken-symlink.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  6. 05/12 t9137-git-svn-dcommit-clobber-series.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  7. 06/12 t9138-git-svn-authors-prog.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  8. 07/12 t9145-git-svn-master-branch.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  9. 08/12 t9150-svk-mergetickets.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  10. Junio C HamanoJan 12, 2016
  11. 09/12 t9300-fast-import.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  12. 10/12 t9350-fast-export.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  13. 11/12 t9501-gitweb-standalone-http-status.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  14. 12/12 t9901-git-web--browse.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  15. Junio C HamanoJan 12, 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.