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

[PATCH 02/10] t9101-git-svn-props.sh: use the $( ... ) construct for command substitution

From
Elia Pinto <gitter.spiros@gmail.com>
Date
Jan 12, 2016, 10:45 UTC
Message-ID
<1452595518-38149-3-git-send-email-gitter.spiros@gmail.com>
In-Reply-To
<1452595518-38149-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/t9101-git-svn-props.sh | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/t/t9101-git-svn-props.sh b/t/t9101-git-svn-props.sh
index 8869f50..e8173d5 100755
--- a/t/t9101-git-svn-props.sh
+++ b/t/t9101-git-svn-props.sh
@@ -26,27 +26,27 @@ cd import
 EOF
 
 	printf "Hello\r\nWorld\r\n" > crlf
-	a_crlf=`git hash-object -w crlf`
+	a_crlf=$(git hash-object -w crlf)
 	printf "Hello\rWorld\r" > cr
-	a_cr=`git hash-object -w cr`
+	a_cr=$(git hash-object -w cr)
 	printf "Hello\nWorld\n" > lf
-	a_lf=`git hash-object -w lf`
+	a_lf=$(git hash-object -w lf)
 
 	printf "Hello\r\nWorld" > ne_crlf
-	a_ne_crlf=`git hash-object -w ne_crlf`
+	a_ne_crlf=$(git hash-object -w ne_crlf)
 	printf "Hello\nWorld" > ne_lf
-	a_ne_lf=`git hash-object -w ne_lf`
+	a_ne_lf=$(git hash-object -w ne_lf)
 	printf "Hello\rWorld" > ne_cr
-	a_ne_cr=`git hash-object -w ne_cr`
+	a_ne_cr=$(git hash-object -w ne_cr)
 
 	touch empty
-	a_empty=`git hash-object -w empty`
+	a_empty=$(git hash-object -w empty)
 	printf "\n" > empty_lf
-	a_empty_lf=`git hash-object -w empty_lf`
+	a_empty_lf=$(git hash-object -w empty_lf)
 	printf "\r" > empty_cr
-	a_empty_cr=`git hash-object -w empty_cr`
+	a_empty_cr=$(git hash-object -w empty_cr)
 	printf "\r\n" > empty_crlf
-	a_empty_crlf=`git hash-object -w empty_crlf`
+	a_empty_crlf=$(git hash-object -w empty_crlf)
 
 	svn_cmd import --no-auto-props -m 'import for git svn' . "$svnrepo" >/dev/null
 cd ..
@@ -80,7 +80,7 @@ test_expect_success "$name" \
 	git pull . ${remotes_git_svn}'
 
 expect='/* $Id$ */'
-got="`sed -ne 2p kw.c`"
+got="$(sed -ne 2p kw.c)"
 test_expect_success 'raw $Id$ found in kw.c' "test '$expect' = '$got'"
 
 test_expect_success "propset CR on crlf files" '
@@ -107,8 +107,8 @@ done
 cd test_wc
 	printf '$Id$\rHello\rWorld\r' > cr
 	printf '$Id$\rHello\rWorld' > ne_cr
-	a_cr=`printf '$Id$\r\nHello\r\nWorld\r\n' | git hash-object --stdin`
-	a_ne_cr=`printf '$Id$\r\nHello\r\nWorld' | git hash-object --stdin`
+	a_cr=$(printf '$Id$\r\nHello\r\nWorld\r\n' | git hash-object --stdin)
+	a_ne_cr=$(printf '$Id$\r\nHello\r\nWorld' | git hash-object --stdin)
 	test_expect_success 'Set CRLF on cr files' \
 	'svn_cmd propset svn:eol-style CRLF cr &&
 	 svn_cmd propset svn:eol-style CRLF ne_cr &&
@@ -119,8 +119,8 @@ cd ..
 test_expect_success 'fetch and pull latest from svn' \
 	'git svn fetch && git pull . ${remotes_git_svn}'
 
-b_cr="`git hash-object cr`"
-b_ne_cr="`git hash-object ne_cr`"
+b_cr="$(git hash-object cr)"
+b_ne_cr="$(git hash-object ne_cr)"
 
 test_expect_success 'CRLF + $Id$' "test '$a_cr' = '$b_cr'"
 test_expect_success 'CRLF + $Id$ (no newline)' "test '$a_ne_cr' = '$b_ne_cr'"
-- 
2.5.0
Previous: Junio C HamanoNext: Elia Pinto
Message 4 of 12 in “use the $( ... ) construct for command substitution”
  1. 00/10 use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  2. 01/10 t9100-git-svn-basic.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  3. Junio C HamanoJan 12, 2016
  4. 02/10 t9101-git-svn-props.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  5. 03/10 t9104-git-svn-follow-parent.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  6. 04/10 t9105-git-svn-commit-diff.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  7. 05/10 t9107-git-svn-migrate.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  8. 06/10 t9108-git-svn-glob.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  9. 07/10 t9109-git-svn-multi-glob.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  10. 08/10 t9110-git-svn-use-svm-props.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  11. 09/10 t9114-git-svn-dcommit-merge.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 12, 2016
  12. 10/10 t9118-git-svn-funky-branch-names.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 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.