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

[PATCH 04/14] t0025-crlf-auto.sh: use the $( ... ) construct for command substitution

From
Elia Pinto <gitter.spiros@gmail.com>
Date
Apr 28, 2014, 12:57 UTC
Message-ID
<1398689857-17014-4-git-send-email-gitter.spiros@gmail.com>
In-Reply-To
<1398689857-17014-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
   sed -i 's@`\(.*\)`@$(\1)@g' ${_f}
done
and then carefully proof-read.
Signed-off-by: Elia Pinto <gitter.spiros@gmail.com>
---
 t/t0025-crlf-auto.sh |   38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/t/t0025-crlf-auto.sh b/t/t0025-crlf-auto.sh
index f5f67a6..b0e5694 100755
--- a/t/t0025-crlf-auto.sh
+++ b/t/t0025-crlf-auto.sh
@@ -19,9 +19,9 @@ test_expect_success setup '
 
 	git commit -m initial &&
 
-	one=`git rev-parse HEAD:one` &&
-	two=`git rev-parse HEAD:two` &&
-	three=`git rev-parse HEAD:three` &&
+	one=$(git rev-parse HEAD:one) &&
+	two=$(git rev-parse HEAD:two) &&
+	three=$(git rev-parse HEAD:three) &&
 
 	echo happy.
 '
@@ -33,9 +33,9 @@ test_expect_success 'default settings cause no changes' '
 
 	! has_cr one &&
 	has_cr two &&
-	onediff=`git diff one` &&
-	twodiff=`git diff two` &&
-	threediff=`git diff three` &&
+	onediff=$(git diff one) &&
+	twodiff=$(git diff two) &&
+	threediff=$(git diff three) &&
 	test -z "$onediff" -a -z "$twodiff" -a -z "$threediff"
 '
 
@@ -48,7 +48,7 @@ test_expect_success 'crlf=true causes a CRLF file to be normalized' '
 
 	# Note, "normalized" means that git will normalize it if added
 	has_cr two &&
-	twodiff=`git diff two` &&
+	twodiff=$(git diff two) &&
 	test -n "$twodiff"
 '
 
@@ -60,7 +60,7 @@ test_expect_success 'text=true causes a CRLF file to be normalized' '
 
 	# Note, "normalized" means that git will normalize it if added
 	has_cr two &&
-	twodiff=`git diff two` &&
+	twodiff=$(git diff two) &&
 	test -n "$twodiff"
 '
 
@@ -72,7 +72,7 @@ test_expect_success 'eol=crlf gives a normalized file CRLFs with autocrlf=false'
 	git read-tree --reset -u HEAD &&
 
 	has_cr one &&
-	onediff=`git diff one` &&
+	onediff=$(git diff one) &&
 	test -z "$onediff"
 '
 
@@ -84,7 +84,7 @@ test_expect_success 'eol=crlf gives a normalized file CRLFs with autocrlf=input'
 	git read-tree --reset -u HEAD &&
 
 	has_cr one &&
-	onediff=`git diff one` &&
+	onediff=$(git diff one) &&
 	test -z "$onediff"
 '
 
@@ -96,7 +96,7 @@ test_expect_success 'eol=lf gives a normalized file LFs with autocrlf=true' '
 	git read-tree --reset -u HEAD &&
 
 	! has_cr one &&
-	onediff=`git diff one` &&
+	onediff=$(git diff one) &&
 	test -z "$onediff"
 '
 
@@ -108,9 +108,9 @@ test_expect_success 'autocrlf=true does not normalize CRLF files' '
 
 	has_cr one &&
 	has_cr two &&
-	onediff=`git diff one` &&
-	twodiff=`git diff two` &&
-	threediff=`git diff three` &&
+	onediff=$(git diff one) &&
+	twodiff=$(git diff two) &&
+	threediff=$(git diff three) &&
 	test -z "$onediff" -a -z "$twodiff" -a -z "$threediff"
 '
 
@@ -123,9 +123,9 @@ test_expect_success 'text=auto, autocrlf=true _does_ normalize CRLF files' '
 
 	has_cr one &&
 	has_cr two &&
-	onediff=`git diff one` &&
-	twodiff=`git diff two` &&
-	threediff=`git diff three` &&
+	onediff=$(git diff one) &&
+	twodiff=$(git diff two) &&
+	threediff=$(git diff three) &&
 	test -z "$onediff" -a -n "$twodiff" -a -z "$threediff"
 '
 
@@ -137,7 +137,7 @@ test_expect_success 'text=auto, autocrlf=true does not normalize binary files' '
 	git read-tree --reset -u HEAD &&
 
 	! has_cr three &&
-	threediff=`git diff three` &&
+	threediff=$(git diff three) &&
 	test -z "$threediff"
 '
 
@@ -148,7 +148,7 @@ test_expect_success 'eol=crlf _does_ normalize binary files' '
 	git read-tree --reset -u HEAD &&
 
 	has_cr three &&
-	threediff=`git diff three` &&
+	threediff=$(git diff three) &&
 	test -z "$threediff"
 '
 
-- 
1.7.10.4
Previous: Elia PintoNext: Elia Pinto
Message 4 of 15 in “t0001-init.sh: use the $( ... ) construct for command substitution”
  1. 01/14 t0001-init.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 28, 2014
  2. 02/14 t0010-racy-git.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 28, 2014
  3. 03/14 t0020-crlf.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 28, 2014
  4. 04/14 t0025-crlf-auto.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 28, 2014
  5. 05/14 t0026-eol-config.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 28, 2014
  6. 06/14 t0030-stripspace.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 28, 2014
  7. 07/14 t0300-credentials.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 28, 2014
  8. 08/14 t1000-read-tree-m-3way.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 28, 2014
  9. 09/14 t1001-read-tree-m-2way.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 28, 2014
  10. 10/14 t1002-read-tree-m-u-2way.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 28, 2014
  11. 11/14 t1003-read-tree-prefix.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 28, 2014
  12. 12/14 t1004-read-tree-m-u-wf.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 28, 2014
  13. 13/14 t1020-subdirectory.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 28, 2014
  14. 14/14 t1050-large.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 28, 2014
  15. Matthieu MoyApr 28, 2014

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.