[PATCH 2/4] t9810: Do not use sed -i

2013-01-01 Thread Torsten Bögershausen
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 tbo...@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


--
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


Re: [PATCH 2/4] t9810: Do not use sed -i

2013-01-01 Thread Junio C Hamano
Torsten Bögershausen tbo...@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 tbo...@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
--
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