dup, rdiff: implemented and documented simpler and clearer symlinks/globbing
[matthijs/upstream/backupninja.git] / handlers / dup
index 59bb9bf082cd5c763cde9b6c9e7434f280c0d6c3..15d1a02f0c5e79699d95e174be9c04bf0b6c9cc2 100644 (file)
@@ -129,41 +129,36 @@ execstr_clientpart="/"
 
 set -o noglob
 
+symlinks_warning="Maybe you have mixed symlinks and '*' in this statement, which is not supported."
+
 # excludes
 for i in $exclude; do
-       str="${i//__star__/*}"
-       i=`readlink -f ${i#}`
-       execstr="${execstr}--exclude '$str' "
+   str="${i//__star__/*}"
+   execstr="${execstr}--exclude '$str' "
 done
        
 # includes 
 for i in $include; do
-       str="${i//__star__/*}"
-       i=`readlink -f ${i#}`
-       execstr="${execstr}--include '$str' "
+   [ "$i" != "/" ] || fatal "Sorry, you cannot use 'include = /'"
+   str="${i//__star__/*}"
+   execstr="${execstr}--include '$str' "
 done
 
 # vsincludes
 if [ $usevserver = yes ]; then
-    for vserver in $vsnames; do
-       for vi in $vsinclude; do
-           i=`readlink -f $VROOTDIR/$vserver$vi`
-           str="${i//__star__/*}"
-           execstr="${execstr}--include '$VROOTDIR/$vserver$str' "
-       done
-    done
+   for vserver in $vsnames; do
+      for vi in $vsinclude; do
+        str="${vi//__star__/*}"
+        str="$VROOTDIR/$vserver$str"
+        execstr="${execstr}--include '$str' "
+      done
+   done
 fi
 
 set +o noglob
 
 ### EXECUTE ###
 
-# exclude everything else, start with root
-#execstr="${execstr}--exclude '**' / "
-               
-# include client-part and server-part
-#execstr="$execstr $execstr_serverpart"
-
 execstr=${execstr//\\*/\\\\\\*}
 
 debug "duplicity $execstr --exclude '**' / $execstr_serverpart"