aboutsummaryrefslogtreecommitdiff
path: root/handlers/rdiff
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2006-03-11 07:21:04 +0000
committerMicah Anderson <micah@riseup.net>2006-03-11 07:21:04 +0000
commitdc8e99c6c42a6f6bed025132aee37f4a742f6d0d (patch)
treeb7d72a66dea12caacdf6d9868c77d15b234de16a /handlers/rdiff
parentc8ebca79ad314975a4955bf42fe7705b0c20e9f3 (diff)
downloadbackupninja-dc8e99c6c42a6f6bed025132aee37f4a742f6d0d.tar.gz
backupninja-dc8e99c6c42a6f6bed025132aee37f4a742f6d0d.tar.bz2
If you include= or exclude= a directory that is actually a symlink
somewhere along the chain you will only backup the symlink, and not the data, this is fixed here in rdiff with this change
Diffstat (limited to 'handlers/rdiff')
-rw-r--r--handlers/rdiff5
1 files changed, 4 insertions, 1 deletions
diff --git a/handlers/rdiff b/handlers/rdiff
index 4871d4e..6cbe6fa 100644
--- a/handlers/rdiff
+++ b/handlers/rdiff
@@ -174,12 +174,14 @@ set -o noglob
# TODO: order the includes and excludes
# excludes
for i in $exclude; do
+ i=`readlink -f $i`
str="${i//__star__/*}"
execstr="${execstr}--exclude '$str' "
done
# includes
for i in $include; do
[ "$i" != "/" ] || fatal "Sorry, you cannot use 'include = /'"
+ i=`readlink -f $i`
str="${i//__star__/*}"
execstr="${execstr}--include '$str' "
done
@@ -188,7 +190,8 @@ done
if [ $usevserver = yes ]; then
for vserver in $vsnames; do
for vi in $vsinclude; do
- str="${vi//__star__/*}"
+ i=`readlink -f $VROOTDIR/$vserver$vi`
+ str="${i//__star__/*}"
execstr="${execstr}--include '$VROOTDIR/$vserver$str' "
done
done