summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rdiff-backup/CHANGELOG3
-rw-r--r--rdiff-backup/rdiff_backup/restore.py2
2 files changed, 4 insertions, 1 deletions
diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG
index 7df226a..97f0c7f 100644
--- a/rdiff-backup/CHANGELOG
+++ b/rdiff-backup/CHANGELOG
@@ -1,6 +1,9 @@
New in v1.1.10 (????/??/??)
---------------------------
+Fix restore from read-only bug -- rx perms on a repository directory are
+enough, no need for write perms when restoring. (patch from Andrew Price)
+
Fix --list-increments bug in set_must_escape_dos_devices.
(Marc Dyksterhouse)
diff --git a/rdiff-backup/rdiff_backup/restore.py b/rdiff-backup/rdiff_backup/restore.py
index 7f8ae6d..2510405 100644
--- a/rdiff-backup/rdiff_backup/restore.py
+++ b/rdiff-backup/rdiff_backup/restore.py
@@ -708,7 +708,7 @@ class PermissionChanger:
"""Change permissions of directories between old_index and index"""
for rp in self.get_new_rp_list(old_index, index):
if ((rp.isreg() and not rp.readable()) or
- (rp.isdir() and not rp.hasfullperms())):
+ (rp.isdir() and not (rp.executable() and rp.readable()))):
old_perms = rp.getperms()
self.open_index_list.insert(0, (rp.index, rp, old_perms))
if rp.isreg(): rp.chmod(0400 | old_perms)