[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/fs_abilitie..
From: |
Andrew Ferguson |
Subject: |
[Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/fs_abilitie... |
Date: |
Tue, 31 Jul 2007 14:51:14 +0000 |
CVSROOT: /sources/rdiff-backup
Module name: rdiff-backup
Changes by: Andrew Ferguson <owsla> 07/07/31 14:51:14
Modified files:
. : CHANGELOG
rdiff_backup : fs_abilities.py
Log message:
Fix hang on Cygwin/FAT32 and error on broken CIFS configurations
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/CHANGELOG?cvsroot=rdiff-backup&r1=1.236&r2=1.237
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff_backup/fs_abilities.py?cvsroot=rdiff-backup&r1=1.37&r2=1.38
Patches:
Index: CHANGELOG
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/CHANGELOG,v
retrieving revision 1.236
retrieving revision 1.237
diff -u -b -r1.236 -r1.237
--- CHANGELOG 28 Jul 2007 20:09:52 -0000 1.236
+++ CHANGELOG 31 Jul 2007 14:51:14 -0000 1.237
@@ -1,6 +1,13 @@
New in v1.1.13 (????/??/??)
---------------------------
+Prevent the extended filenames / UTF-8 test from raising an exception
+on broken CIFS configurations which transform some characters to '?'.
+Problem reported by Luca Cappe. (Andrew Ferguson)
+
+Cygwin on FAT32 hangs when trying to open a file named "aux". Change
+the escape DOS devices test to use "con" instead. (Andrew Ferguson)
+
Fix symlink behavior when filesystem is mounted via CIFS. Closes
Savannah bug #20342. (Andrew Ferguson)
Index: rdiff_backup/fs_abilities.py
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/rdiff_backup/fs_abilities.py,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -b -r1.37 -r1.38
--- rdiff_backup/fs_abilities.py 17 Jul 2007 01:53:49 -0000 1.37
+++ rdiff_backup/fs_abilities.py 31 Jul 2007 14:51:14 -0000 1.38
@@ -218,7 +218,16 @@
self.extended_filenames = 0
else:
assert ext_rp.lstat()
+ try:
ext_rp.delete()
+ except (IOError, OSError):
+ # Broken CIFS setups will sometimes create
UTF-8 files
+ # and even stat them, but not let us perform
file operations
+ # on them. Test file will be deleted via
shutil.rmtree()
+ # when subdir is deleted. UTF-8 characters not
in the
+ # underlying codepage get translated to '?'
+ self.extended_filenames = 0
+ else:
self.extended_filenames = 1
def set_acls(self, rp):
@@ -433,7 +442,7 @@
def set_escape_dos_devices(self, subdir):
"""If special file aux can be stat'd, escape special files"""
try:
- device_rp = subdir.append("aux")
+ device_rp = subdir.append("con")
if device_rp.lstat():
log.Log("escape_dos_devices required by
filesystem at %s" \
% (subdir.path), 4)
@@ -531,7 +540,7 @@
def set_must_escape_dos_devices(self, rbdir):
"""If local edd or src edd, then must escape """
try:
- device_rp = rbdir.append("aux")
+ device_rp = rbdir.append("con")
if device_rp.lstat(): local_edd = 1
else: local_edd = 0
except (OSError): local_edd = 1
@@ -624,7 +633,7 @@
src_edd = self.src_fsa.escape_dos_devices
else: src_edd = 0
try:
- device_rp = rbdir.append("aux")
+ device_rp = rbdir.append("con")
if device_rp.lstat(): local_edd = 1
else: local_edd = 0
except (OSError): local_edd = 1