From 0067c9e36904ce95b7d20f94cc35ecdeec2effa7 Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@Germany>
Date: Thu, 9 Feb 2017 13:41:48 +0100
Subject: [PATCH] STYLE: avoid spurious messages when cloning cases

- either (or both) of 0/, 0.orig/ may exist, so error messages about
  one of them being missing is a bit misleading
---
 bin/tools/RunFunctions | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)
 mode change 100755 => 100644 bin/tools/RunFunctions

diff --git a/bin/tools/RunFunctions b/bin/tools/RunFunctions
old mode 100755
new mode 100644
index 59e1d66194a..b23fe06e8dc
--- a/bin/tools/RunFunctions
+++ b/bin/tools/RunFunctions
@@ -208,19 +208,32 @@ compileApplication()
     wmake $1
 }
 
+#
+# cloneCase srcDir dstDir
+#
 cloneCase()
 {
-    if [ -d "$2" ]
+    if [ -e "$2" ]
     then
         echo "Case already cloned: remove case directory $2 to clone"
-    else
+    elif [ -d "$1" ]
+    then
         echo "Cloning $2 case from $1"
         mkdir $2
-        cpfiles="0.orig 0 system constant"
-        for f in $cpfiles
+        # These must exist, so do not hide error messages
+        for f in system constant
         do
             \cp -r $1/$f $2
         done
+
+        # Either (or both) may exist, so error messages may be spurious
+        for f in 0 0.orig
+        do
+            \cp -r $1/$f $2 2>/dev/null
+        done
+    else
+        echo "Error: cannot clone from non-existent directory"
+        echo "    $1"
     fi
 }
 
@@ -243,7 +256,7 @@ restore0Dir()
         if [ -d 0.orig ]
         then
             \rm -rf 0
-            \cp -r 0.orig 0 > /dev/null 2>&1
+            \cp -r 0.orig 0 2>/dev/null
         else
             echo "    Warning: no 0.orig/ found"
         fi
-- 
GitLab