diff options
Diffstat (limited to 'rdiff-backup/rdiff_backup/Main.py')
-rw-r--r-- | rdiff-backup/rdiff_backup/Main.py | 34 |
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', |