summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup/Main.py
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/rdiff_backup/Main.py')
-rw-r--r--rdiff-backup/rdiff_backup/Main.py34
1 files changed, 23 insertions, 11 deletions
diff --git a/rdiff-backup/rdiff_backup/Main.py b/rdiff-backup/rdiff_backup/Main.py
index eaa1559..2656712 100644
--- a/rdiff-backup/rdiff_backup/Main.py
+++ b/rdiff-backup/rdiff_backup/Main.py
@@ -320,17 +320,25 @@ def backup_get_mirrortime():
def backup_set_fs_globals(rpin, rpout):
"""Use fs_abilities to set the globals that depend on filesystem"""
- src_fsa = fs_abilities.FSAbilities().init_readonly(rpin)
- SetConnections.UpdateGlobal('read_acls', src_fsa.acls)
+ src_fsa = fs_abilities.FSAbilities('source').init_readonly(rpin)
+ Log(str(src_fsa), 3)
+ if Globals.read_acls is None:
+ SetConnections.UpdateGlobal('read_acls', src_fsa.acls)
if src_fsa.eas: rpin.get_ea()
- SetConnections.UpdateGlobal('read_eas', src_fsa.eas)
+ if Globals.read_eas is None:
+ SetConnections.UpdateGlobal('read_eas', src_fsa.eas)
- dest_fsa = fs_abilities.FSAbilities().init_readwrite(
+ dest_fsa = fs_abilities.FSAbilities('destination').init_readwrite(
Globals.rbdir, override_chars_to_quote = Globals.chars_to_quote)
+ Log(str(dest_fsa), 3)
SetConnections.UpdateGlobal('preserve_hardlinks', dest_fsa.hardlinks)
SetConnections.UpdateGlobal('fsync_directories', dest_fsa.fsync_dirs)
- SetConnections.UpdateGlobal('write_acls', dest_fsa.acls)
- SetConnections.UpdateGlobal('write_eas', Globals.read_eas and dest_fsa.eas)
+ if Globals.write_acls is None:
+ SetConnections.UpdateGlobal('write_acls',
+ Globals.read_acls and dest_fsa.acls)
+ if Globals.write_eas is None:
+ SetConnections.UpdateGlobal('write_eas',
+ Globals.read_eas and dest_fsa.eas)
SetConnections.UpdateGlobal('change_ownership', dest_fsa.ownership)
SetConnections.UpdateGlobal('chars_to_quote', dest_fsa.chars_to_quote)
if Globals.chars_to_quote:
@@ -404,15 +412,19 @@ def restore_init_quoting(src_rp):
def restore_set_fs_globals(target):
"""Use fs_abilities to set the globals that depend on filesystem"""
target_fsa = fs_abilities.FSAbilities().init_readwrite(target, 0)
- SetConnections.UpdateGlobal('read_acls', target_fsa.acls)
- SetConnections.UpdateGlobal('write_acls', target_fsa.acls)
- SetConnections.UpdateGlobal('read_eas', target_fsa.eas)
- SetConnections.UpdateGlobal('write_eas', target_fsa.eas)
+ if Globals.read_acls is None:
+ SetConnections.UpdateGlobal('read_acls', target_fsa.acls)
+ if Globals.write_acls is None:
+ SetConnections.UpdateGlobal('write_acls', target_fsa.acls)
+ if Globals.read_eas is None:
+ SetConnections.UpdateGlobal('read_eas', target_fsa.eas)
+ if Globals.write_eas is None:
+ SetConnections.UpdateGlobal('write_eas', target_fsa.eas)
if Globals.read_eas: target.get_ea()
SetConnections.UpdateGlobal('preserve_hardlinks', target_fsa.hardlinks)
SetConnections.UpdateGlobal('change_ownership', target_fsa.ownership)
- mirror_fsa = fs_abilities.FSAbilities().init_readonly(Globals.rbdir)
+ mirror_fsa = fs_abilities.FSAbilities().init_readwrite(Globals.rbdir)
if Globals.chars_to_quote is None: # otherwise already overridden
if mirror_fsa.chars_to_quote:
SetConnections.UpdateGlobal('chars_to_quote',