[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/eas_acls.py..
From: |
dean gaudet |
Subject: |
[Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/eas_acls.py... |
Date: |
Sun, 05 Nov 2006 01:30:03 +0000 |
CVSROOT: /cvsroot/rdiff-backup
Module name: rdiff-backup
Changes by: dean gaudet <dgaudet> 06/11/05 01:30:02
Modified files:
. : CHANGELOG
rdiff_backup : eas_acls.py rpath.py
Log message:
Mac OS X Extended Attributes support. (Patch from Andrew Ferguson.)
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/CHANGELOG?cvsroot=rdiff-backup&r1=1.184&r2=1.185
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff_backup/eas_acls.py?cvsroot=rdiff-backup&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff_backup/rpath.py?cvsroot=rdiff-backup&r1=1.101&r2=1.102
Patches:
Index: CHANGELOG
===================================================================
RCS file: /cvsroot/rdiff-backup/rdiff-backup/CHANGELOG,v
retrieving revision 1.184
retrieving revision 1.185
diff -u -b -r1.184 -r1.185
--- CHANGELOG 5 Nov 2006 01:24:52 -0000 1.184
+++ CHANGELOG 5 Nov 2006 01:30:02 -0000 1.185
@@ -1,6 +1,8 @@
New in v1.1.6 (????/??/??)
--------------------------
+Mac OS X Extended Attributes support. (Patch from Andrew Ferguson.)
+
Preserve Mac OS X 'Creation Date' field across backups. (Patch from Andrew
Ferguson.)
Index: rdiff_backup/eas_acls.py
===================================================================
RCS file: /cvsroot/rdiff-backup/rdiff-backup/rdiff_backup/eas_acls.py,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- rdiff_backup/eas_acls.py 12 Dec 2005 01:15:22 -0000 1.17
+++ rdiff_backup/eas_acls.py 5 Nov 2006 01:30:02 -0000 1.18
@@ -64,8 +64,11 @@
return
raise
for attr in attr_list:
- if not attr.startswith('user.'):
- # Only preserve user extended attributes
+ if attr.startswith('system.'):
+ # Do not preserve system extended attributes
+ continue
+ if attr == 'com.apple.FinderInfo' or attr ==
'come.apple.ResourceFork':
+ # FinderInfo and Resource Fork handled elsewhere
continue
try: self.attr_dict[attr] =
rp.conn.xattr.getxattr(rp.path, attr)
except IOError, exc:
@@ -92,7 +95,14 @@
"""Write extended attributes to rpath rp"""
self.clear_rp(rp)
for (name, value) in self.attr_dict.iteritems():
+ try:
rp.conn.xattr.setxattr(rp.path, name, value)
+ except IOError, exc:
+ # Mac and Linux attributes have different
namespaces, so
+ # fail gracefully if can't call setxattr
+ if exc[0] == errno.EOPNOTSUPP or exc[0] ==
errno.EACCES:
+ continue
+ else: raise
def get(self, name):
"""Return attribute attached to given name"""
Index: rdiff_backup/rpath.py
===================================================================
RCS file: /cvsroot/rdiff-backup/rdiff-backup/rdiff_backup/rpath.py,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -b -r1.101 -r1.102
--- rdiff_backup/rpath.py 5 Nov 2006 01:24:52 -0000 1.101
+++ rdiff_backup/rpath.py 5 Nov 2006 01:30:02 -0000 1.102
@@ -165,13 +165,13 @@
if Globals.change_ownership:
rpout.chown(*rpout.conn.user_group.map_rpath(rpin))
if rpin.issym(): return # symlinks don't have times or perms
+ if Globals.eas_write: rpout.write_ea(rpin.get_ea())
if (Globals.resource_forks_write and rpin.isreg() and
rpin.has_resource_fork()):
rpout.write_resource_fork(rpin.get_resource_fork())
if (Globals.carbonfile_write and rpin.isreg() and
rpin.has_carbonfile()):
rpout.write_carbonfile(rpin.get_carbonfile())
- if Globals.eas_write: rpout.write_ea(rpin.get_ea())
rpout.chmod(rpin.getperms())
if Globals.acls_write: rpout.write_acl(rpin.get_acl())
if not rpin.isdev(): rpout.setmtime(rpin.getmtime())
@@ -188,13 +188,13 @@
check_for_files(rpin, rpout)
if Globals.change_ownership: apply(rpout.chown, rpin.getuidgid())
if rpin.issym(): return # symlinks don't have times or perms
+ if Globals.eas_write: rpout.write_ea(rpin.get_ea())
if (Globals.resource_forks_write and rpin.isreg() and
rpin.has_resource_fork() and rpout.isreg()):
rpout.write_resource_fork(rpin.get_resource_fork())
if (Globals.carbonfile_write and rpin.isreg() and
rpin.has_carbonfile() and rpout.isreg()):
rpout.write_carbonfile(rpin.get_carbonfile())
- if Globals.eas_write: rpout.write_ea(rpin.get_ea())
if rpin.isdir() and not rpout.isdir():
rpout.chmod(rpin.getperms() & 0777)
else: rpout.chmod(rpin.getperms())
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/eas_acls.py...,
dean gaudet <=