* [PATCH 2/4] t9810: Do not use sed -i
@ 2013-01-01 21:40 Torsten Bögershausen
2013-01-01 22:12 ` Junio C Hamano
0 siblings, 1 reply; 2+ messages in thread
From: Torsten Bögershausen @ 2013-01-01 21:40 UTC (permalink / raw)
To: git, pw; +Cc: tboegi
sed -i is not portable on all systems.
Use sed with different input and output files.
Utilize a tmp file whenever needed
Signed-off-by: Torsten Bögershausen <tboegi@web.de>
---
t/t9810-git-p4-rcs.sh | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/t/t9810-git-p4-rcs.sh b/t/t9810-git-p4-rcs.sh
index 0c2fc3e..5bf9291 100755
--- a/t/t9810-git-p4-rcs.sh
+++ b/t/t9810-git-p4-rcs.sh
@@ -26,10 +26,8 @@ test_expect_success 'init depot' '
line7
line8
EOF
- cp filek fileko &&
- sed -i "s/Revision/Revision: do not scrub me/" fileko
- cp fileko file_text &&
- sed -i "s/Id/Id: do not scrub me/" file_text
+ sed <filek "s/Revision/Revision: do not scrub me/" >fileko
+ sed <fileko "s/Id/Id: do not scrub me/" >file_text
p4 add -t text+k filek &&
p4 submit -d "filek" &&
p4 add -t text+ko fileko &&
@@ -88,7 +86,8 @@ test_expect_success 'edit far away from RCS lines' '
(
cd "$git" &&
git config git-p4.skipSubmitEdit true &&
- sed -i "s/^line7/line7 edit/" filek &&
+ sed <filek "s/^line7/line7 edit/" >filek.tmp &&
+ mv -f filek.tmp filek &&
git commit -m "filek line7 edit" filek &&
git p4 submit &&
scrub_k_check filek
@@ -105,7 +104,8 @@ test_expect_success 'edit near RCS lines' '
cd "$git" &&
git config git-p4.skipSubmitEdit true &&
git config git-p4.attemptRCSCleanup true &&
- sed -i "s/^line4/line4 edit/" filek &&
+ sed <filek "s/^line4/line4 edit/" >filek.tmp &&
+ mv -f filek.tmp filek &&
git commit -m "filek line4 edit" filek &&
git p4 submit &&
scrub_k_check filek
@@ -122,7 +122,8 @@ test_expect_success 'edit keyword lines' '
cd "$git" &&
git config git-p4.skipSubmitEdit true &&
git config git-p4.attemptRCSCleanup true &&
- sed -i "/Revision/d" filek &&
+ sed <filek "/Revision/d" >filek.tmp &&
+ mv -f filek.tmp filek &&
git commit -m "filek remove Revision line" filek &&
git p4 submit &&
scrub_k_check filek
@@ -139,7 +140,8 @@ test_expect_success 'scrub ko files differently' '
cd "$git" &&
git config git-p4.skipSubmitEdit true &&
git config git-p4.attemptRCSCleanup true &&
- sed -i "s/^line4/line4 edit/" fileko &&
+ sed <fileko "s/^line4/line4 edit/" >fileko.tmp &&
+ mv -f fileko.tmp fileko &&
git commit -m "fileko line4 edit" fileko &&
git p4 submit &&
scrub_ko_check fileko &&
@@ -189,12 +191,14 @@ test_expect_success 'do not scrub plain text' '
cd "$git" &&
git config git-p4.skipSubmitEdit true &&
git config git-p4.attemptRCSCleanup true &&
- sed -i "s/^line4/line4 edit/" file_text &&
+ sed <file_text "s/^line4/line4 edit/" >file_text.tmp &&
+ mv -f file_text.tmp file_text &&
git commit -m "file_text line4 edit" file_text &&
(
cd "$cli" &&
p4 open file_text &&
- sed -i "s/^line5/line5 p4 edit/" file_text &&
+ sed <file_text "s/^line5/line5 p4 edit/" >file_text.tmp &&
+ mv -f file_text.tmp file_text &&
p4 submit -d "file5 p4 edit"
) &&
echo s | test_expect_code 1 git p4 submit &&
--
1.8.0.197.g5a90748
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH 2/4] t9810: Do not use sed -i
2013-01-01 21:40 [PATCH 2/4] t9810: Do not use sed -i Torsten Bögershausen
@ 2013-01-01 22:12 ` Junio C Hamano
0 siblings, 0 replies; 2+ messages in thread
From: Junio C Hamano @ 2013-01-01 22:12 UTC (permalink / raw)
To: Torsten Bögershausen; +Cc: git, pw
Torsten Bögershausen <tboegi@web.de> writes:
> sed -i is not portable on all systems.
> Use sed with different input and output files.
> Utilize a tmp file whenever needed
>
> Signed-off-by: Torsten Bögershausen <tboegi@web.de>
> ---
> t/t9810-git-p4-rcs.sh | 24 ++++++++++++++----------
> 1 file changed, 14 insertions(+), 10 deletions(-)
>
> diff --git a/t/t9810-git-p4-rcs.sh b/t/t9810-git-p4-rcs.sh
> index 0c2fc3e..5bf9291 100755
> --- a/t/t9810-git-p4-rcs.sh
> +++ b/t/t9810-git-p4-rcs.sh
> @@ -26,10 +26,8 @@ test_expect_success 'init depot' '
> line7
> line8
> EOF
> - cp filek fileko &&
> - sed -i "s/Revision/Revision: do not scrub me/" fileko
> - cp fileko file_text &&
> - sed -i "s/Id/Id: do not scrub me/" file_text
> + sed <filek "s/Revision/Revision: do not scrub me/" >fileko
> + sed <fileko "s/Id/Id: do not scrub me/" >file_text
Making it shorter and more correct ;-), which is good, but you are
losing the && chaining. Also it is more customary to have
redirection at the end, unless it is to redirect a numbered file
descriptor (e.g. "echo >&2 error message"). I.e.
sed "s/Revision/Revision: do not scrub me/" <filek >fileko &&
sed "s/Id/Id: do not scrub me/" <fileko >file_text
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-01-01 22:13 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-01 21:40 [PATCH 2/4] t9810: Do not use sed -i Torsten Bögershausen
2013-01-01 22:12 ` Junio C Hamano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).