[PATCH v2] tests: correct quoting of double quotes in here documents used to write hooks

Jim Hague jim.hague at acm.org
Mon Sep 3 11:28:57 CDT 2012


# HG changeset patch
# User Jim Hague <jim.hague at acm.org>
# Date 1346689550 -3600
# Branch stable
# Node ID 80af2434997e9c5794e3fa332352443c96b3eecd
# Parent  3ee5d3c372fabcf57c305835dac98da78bdc1837
tests: correct quoting of double quotes in here documents used to write hooks

Some shells, e.g. ksh89, will emit \" in a here document as ",
while others will emit \". To be sure of getting \", we specify \\".

This gets test-commit-amend.t and test-largefiles.t working on AIX.

diff -r 3ee5d3c372fa -r 80af2434997e tests/test-commit-amend.t
--- a/tests/test-commit-amend.t	Sat Sep 01 12:49:43 2012 -0500
+++ b/tests/test-commit-amend.t	Mon Sep 03 17:25:50 2012 +0100
@@ -25,7 +25,7 @@
 
   $ cat >> $HGRCPATH <<EOF
   > [hooks]
-  > pretxncommit.foo = sh -c "echo \"pretxncommit \$HG_NODE\"; hg id -r \$HG_NODE"
+  > pretxncommit.foo = sh -c "echo \\"pretxncommit \$HG_NODE\\"; hg id -r \$HG_NODE"
   > EOF
 
 Amending changeset with changes in working dir:
diff -r 3ee5d3c372fa -r 80af2434997e tests/test-largefiles.t
--- a/tests/test-largefiles.t	Sat Sep 01 12:49:43 2012 -0500
+++ b/tests/test-largefiles.t	Mon Sep 03 17:25:50 2012 +0100
@@ -13,7 +13,7 @@
   > patterns=glob:**.dat
   > usercache=${USERCACHE}
   > [hooks]
-  > precommit=sh -c "echo \"Invoking status precommit hook\"; hg status"
+  > precommit=sh -c "echo \\"Invoking status precommit hook\\"; hg status"
   > EOF
 
 Create the repo with a couple of revisions of both large and normal
@@ -434,7 +434,7 @@
   $ cd ../addrm
   $ cat >> .hg/hgrc <<EOF
   > [hooks]
-  > post-commit.stat=sh -c "echo \"Invoking status postcommit hook\"; hg status -A"
+  > post-commit.stat=sh -c "echo \\"Invoking status postcommit hook\\"; hg status -A"
   > EOF
   $ touch foo
   $ hg add --large foo


More information about the Mercurial-devel mailing list