From 80303fea5381d115ed7353e514bb5eec157f8826 Mon Sep 17 00:00:00 2001 From: micah Date: Sat, 11 Mar 2006 07:21:04 +0000 Subject: [PATCH] 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 git-svn-id: http://code.autistici.org/svn/backupninja/trunk@369 758a04ac-41e6-0310-8a23-8373a73cc35d --- ChangeLog | 2 ++ handlers/rdiff | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index aec8d97..a6fb5e5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,8 @@ version 0.9.4 -- unreleased mysql: . Fixed improper use of $vuserhome (Debian: #351083) . Fixed erroneous removal of tmpfile when it didn't exit + rdiff: + . Fixed improper include/exclude symlink dereference lib changes vserver: . init_vservers: fixed Debian bug #351083 (improper readlink syntax) 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 -- 2.30.2