Junio C Hamano <gits...@pobox.com> writes:

>>      cat >comment-lines.sh <<EOF &&
>>  #!$SHELL_PATH
>> -sed -e "2,\$ s/^/\\\\\\/" "\$1" >"\$1".tmp
>> +sed -e "2,\$ s/^/\\\\\\\\/" "\$1" >"\$1".tmp
>>  mv "\$1".tmp "\$1"
>>  EOF
>>      chmod a+x comment-lines.sh &&
>
> Yeek.  If you used write_script with here-text that does not
> interpolate,
>
>       write_script remove-all-but-the-first.sh <<\EOF
>       sed -e '2,$s/^/\\/'  <"$1" >"$1.tmp" &&
>         mv "$1.tmp" "$1"
>       EOF
>
> the above would be much more readable.

As this is already inside a pair of '', we cannot use single quote
around sed expression without doing the ugly '\''.

So it needs to be more like this, and I think it still is more
readable.

diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index cbe36bf..8b3e2cd 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -945,13 +945,11 @@ test_expect_success 'rebase -i respects core.commentchar' 
'
        git checkout E^0 &&
        git config core.commentchar "\\" &&
        test_when_finished "git config --unset core.commentchar" &&
-       cat >comment-lines.sh <<EOF &&
-#!$SHELL_PATH
-sed -e "2,\$ s/^/\\\\\\/" "\$1" >"\$1".tmp
-mv "\$1".tmp "\$1"
-EOF
-       chmod a+x comment-lines.sh &&
-       test_set_editor "$(pwd)/comment-lines.sh" &&
+       write_script remove-all-but-first.sh <<-\EOF &&
+       sed -e "2,\$s/^/\\\\/" "$1" >"$1.tmp" &&
+       mv "$1.tmp" "$1"
+       EOF
+       test_set_editor "$(pwd)/remove-all-but-first.sh" &&
        git rebase -i B &&
        test B = $(git cat-file commit HEAD^ | sed -ne \$p)
 '
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to