summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup/rpath.py
diff options
context:
space:
mode:
authorbescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2005-09-07 17:33:26 +0000
committerbescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2005-09-07 17:33:26 +0000
commit951d01fd1c1f619db6e2d7d625eb1f99c22c1eff (patch)
tree80bd5beb61c28f91acc8ea45cc0819a20677a60a /rdiff-backup/rdiff_backup/rpath.py
parentb1bbcfee1956714070ed055a04050d67b1f29190 (diff)
downloadrdiff-backup-951d01fd1c1f619db6e2d7d625eb1f99c22c1eff.tar.gz
Avoid lchown requirement
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@630 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
Diffstat (limited to 'rdiff-backup/rdiff_backup/rpath.py')
-rw-r--r--rdiff-backup/rdiff_backup/rpath.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/rdiff-backup/rdiff_backup/rpath.py b/rdiff-backup/rdiff_backup/rpath.py
index aa411a0..b9e84ca 100644
--- a/rdiff-backup/rdiff_backup/rpath.py
+++ b/rdiff-backup/rdiff_backup/rpath.py
@@ -782,7 +782,12 @@ class RPath(RORPath):
def chown(self, uid, gid):
"""Set file's uid and gid"""
- self.conn.C.lchown(self.path, uid, gid)
+ if self.issym():
+ try: self.conn.C.lchown(self.path, uid, gid)
+ except AttributeError:
+ log.Log("Warning: lchown missing, cannot change ownership "
+ "of symlink " + self.path, 2)
+ else: os.chown(self.path, uid, gid)
self.data['uid'] = uid
self.data['gid'] = gid