From 75a31e34270bfbf735d31fea152675160493b900 Mon Sep 17 00:00:00 2001 From: bescoto Date: Thu, 24 Nov 2005 03:00:18 +0000 Subject: "Directory not empty" fix git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@688 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109 --- rdiff-backup/CHANGELOG | 4 ++++ rdiff-backup/TODO | 2 -- rdiff-backup/rdiff_backup/backup.py | 8 ++++---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG index fdea69b..3cb199e 100644 --- a/rdiff-backup/CHANGELOG +++ b/rdiff-backup/CHANGELOG @@ -12,6 +12,10 @@ When removing older than, delete empty increments directories Long filename bug finally fixed (phew). rdiff-backup should now correctly mirror any file that it can read. +Due to very detailed error report from Yoav, fixed a "Directory not +empty" error that can arise on emulated filesystems like NFS and +EncFS. + New in v1.1.2 (2005/11/06) -------------------------- diff --git a/rdiff-backup/TODO b/rdiff-backup/TODO index 10bb466..364bda6 100644 --- a/rdiff-backup/TODO +++ b/rdiff-backup/TODO @@ -3,8 +3,6 @@ increments found, don't act like there's an error (no stderr). Port close file fix to devel version -Regress needs to fix alternate names also - See if rorpiter.CacheIndexable is really necessary For comparing, check source filesystem's abilities diff --git a/rdiff-backup/rdiff_backup/backup.py b/rdiff-backup/rdiff_backup/backup.py index 31d450d..3041bd9 100644 --- a/rdiff-backup/rdiff_backup/backup.py +++ b/rdiff-backup/rdiff_backup/backup.py @@ -109,12 +109,12 @@ class SourceStruct: diff_rorp = src_rp.getRORPath() if dest_sig.isflaglinked(): diff_rorp.flaglinked(dest_sig.get_link_flag()) - elif dest_sig.isreg() and src_rp.isreg(): - attach_diff(diff_rorp, src_rp, dest_sig) elif src_rp.isreg(): - attach_snapshot(diff_rorp, src_rp) + if dest_sig.isreg(): attach_diff(diff_rorp, src_rp, dest_sig) + else: attach_snapshot(diff_rorp, src_rp) + else: dest_sig.close_if_necessary() - else: diff_rorp.set_attached_filetype('snapshot') + diff_rorp.set_attached_filetype('snapshot') yield diff_rorp static.MakeClass(SourceStruct) -- cgit v1.2.1