rdiff-backup-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Rdiff-backup-commits] rdiff-backup ./CHANGELOG rdiff_backup/backup.py


From: Ben Escoto
Subject: [Rdiff-backup-commits] rdiff-backup ./CHANGELOG rdiff_backup/backup.py
Date: Sun, 15 Jan 2006 03:07:56 +0000

CVSROOT:        /sources/rdiff-backup
Module name:    rdiff-backup
Branch:         
Changes by:     Ben Escoto <address@hidden>     06/01/15 03:07:56

Modified files:
        .              : CHANGELOG 
        rdiff_backup   : backup.py 

Log message:
        SpecialFileError shouldn't trigger UpdateError

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff-backup/CHANGELOG.diff?tr1=1.178&tr2=1.179&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff-backup/rdiff_backup/backup.py.diff?tr1=1.39&tr2=1.40&r1=text&r2=text

Patches:
Index: rdiff-backup/CHANGELOG
diff -u rdiff-backup/CHANGELOG:1.178 rdiff-backup/CHANGELOG:1.179
--- rdiff-backup/CHANGELOG:1.178        Tue Jan 10 04:56:44 2006
+++ rdiff-backup/CHANGELOG      Sun Jan 15 03:07:56 2006
@@ -5,6 +5,9 @@
 excluded if certain include expressions involving a non-trailing '**'
 were used.  Bug reported by Toni Price.
 
+A few minor changes to help rdiff-backup back up to an SMB/CIFS share.
+Thanks to Cengiz Gunay for testing.
+
 
 New in v1.1.5 (2006/01/01)
 --------------------------
Index: rdiff-backup/rdiff_backup/backup.py
diff -u rdiff-backup/rdiff_backup/backup.py:1.39 
rdiff-backup/rdiff_backup/backup.py:1.40
--- rdiff-backup/rdiff_backup/backup.py:1.39    Sat Dec 24 20:02:05 2005
+++ rdiff-backup/rdiff_backup/backup.py Sun Jan 15 03:07:56 2006
@@ -533,8 +533,9 @@
                if diff_rorp.isflaglinked():
                        self.patch_hardlink_to_temp(diff_rorp, new)
                elif diff_rorp.get_attached_filetype() == 'snapshot':
-                       if not self.patch_snapshot_to_temp(diff_rorp, new):
-                               return 0
+                       result = self.patch_snapshot_to_temp(diff_rorp, new)
+                       if not result: return 0
+                       elif result == 2: return 1 # SpecialFile
                elif not self.patch_diff_to_temp(basis_rp, diff_rorp, new):
                        return 0
                if new.lstat() and not diff_rorp.isflaglinked():
@@ -547,11 +548,18 @@
                self.CCPP.update_hardlink_hash(diff_rorp)
 
        def patch_snapshot_to_temp(self, diff_rorp, new):
-               """Write diff_rorp to new, return true if successful"""
+               """Write diff_rorp to new, return true if successful
+
+               Returns 1 if normal success, 2 if special file is written,
+               whether or not it is successful.  This is because special
+               files either fail with a SpecialFileError, or don't need to be
+               compared.
+
+               """
                if diff_rorp.isspecial():
                        self.write_special(diff_rorp, new)
                        rpath.copy_attribs(diff_rorp, new)
-                       return 1
+                       return 2
                
                report = robust.check_common_error(self.error_handler, 
rpath.copy,
                                                                                
   (diff_rorp, new))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]