From 28346d2d3c6e609a618c6c429d865e9d5d50b998 Mon Sep 17 00:00:00 2001 From: Jon Seymour Date: Thu, 7 Jul 2005 10:50:07 +1000 Subject: [PATCH] [PATCH] Write sed script directly into temp file, rather than a variable When sed uses \n rather than ; as a separator (for BSD sed(1) compat), it is cleaner to use a file directly, rather than an environment variable containing \n characters. This change changes t/t6000 write to sed.script directly and changes the other tests to remove knowledge of sed.script. Signed-off-by: Jon Seymour Signed-off-by: Linus Torvalds --- t/t6000-lib.sh | 12 +++++++----- t/t6001-rev-list-merge-order.sh | 9 --------- t/t6002-rev-list-bisect.sh | 10 ---------- t/t6003-rev-list-topo-order.sh | 9 --------- 4 files changed, 7 insertions(+), 33 deletions(-) diff --git a/t/t6000-lib.sh b/t/t6000-lib.sh index 377e8eb77b..01f796e9c8 100644 --- a/t/t6000-lib.sh +++ b/t/t6000-lib.sh @@ -1,6 +1,6 @@ [ -d .git/refs/tags ] || mkdir -p .git/refs/tags -sed_script=""; +:> sed.script # Answer the sha1 has associated with the tag. The tag must exist in .git or .git/refs/tags tag() @@ -21,7 +21,7 @@ unique_commit() } # Save the output of a command into the tag specified. Prepend -# a substitution script for the tag onto the front of $sed_script +# a substitution script for the tag onto the front of sed.script save_tag() { _tag=$1 @@ -29,14 +29,16 @@ save_tag() shift 1 "$@" >.git/refs/tags/$_tag - sed_script="s/$(tag $_tag)/$_tag/g -$sed_script" + echo "s/$(tag $_tag)/$_tag/g" > sed.script.tmp + cat sed.script >> sed.script.tmp + rm sed.script + mv sed.script.tmp sed.script } # Replace unhelpful sha1 hashses with their symbolic equivalents entag() { - sed "$sed_script" + sed -f sed.script } # Execute a command after first saving, then setting the GIT_AUTHOR_EMAIL diff --git a/t/t6001-rev-list-merge-order.sh b/t/t6001-rev-list-merge-order.sh index fdd5155147..66bd9ca8df 100755 --- a/t/t6001-rev-list-merge-order.sh +++ b/t/t6001-rev-list-merge-order.sh @@ -103,15 +103,6 @@ save_tag g4 unique_commit g6 tree -p g3 -p h2 tag l5 > .git/HEAD -# -# cd to t/trash and use -# -# git-rev-list ... 2>&1 | sed "$(cat sed.script)" -# -# if you ever want to manually debug the operation of git-rev-list -# -echo $sed_script > sed.script - test_expect_success 'rev-list has correct number of entries' 'git-rev-list HEAD | wc -l | tr -s " "' <&1 | sed "$(cat sed.script)" -# -# if you ever want to manually debug the operation of git-rev-list -# -echo $sed_script > sed.script - test_sequence() { _bisect_option=$1 diff --git a/t/t6003-rev-list-topo-order.sh b/t/t6003-rev-list-topo-order.sh index a94dbd2031..98c5e2faea 100755 --- a/t/t6003-rev-list-topo-order.sh +++ b/t/t6003-rev-list-topo-order.sh @@ -79,15 +79,6 @@ save_tag g4 unique_commit g6 tree -p g3 -p h2 tag l5 > .git/HEAD -# -# cd to t/trash and use -# -# git-rev-list ... 2>&1 | sed "$(cat sed.script)" -# -# if you ever want to manually debug the operation of git-rev-list -# -echo "$sed_script" | tr ' ' \\012 > sed.script - test_expect_success 'rev-list has correct number of entries' 'git-rev-list HEAD | wc -l | tr -s " "' <