diff options
author | bescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2003-10-12 05:24:25 +0000 |
---|---|---|
committer | bescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2003-10-12 05:24:25 +0000 |
commit | 5ccca65dec1ef00d3551493958af5ee27e7df212 (patch) | |
tree | f4c311256bc8dd7722852b526f98908943eebd8b /rdiff-backup/rdiff_backup/restore.py | |
parent | 34471974703bc788103b28f12abc37ad1e249623 (diff) | |
download | rdiff-backup-5ccca65dec1ef00d3551493958af5ee27e7df212.tar.gz |
New hard link system should use less memory
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@468 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
Diffstat (limited to 'rdiff-backup/rdiff_backup/restore.py')
-rw-r--r-- | rdiff-backup/rdiff_backup/restore.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/rdiff-backup/rdiff_backup/restore.py b/rdiff-backup/rdiff_backup/restore.py index 8d64c36..7a4f0bf 100644 --- a/rdiff-backup/rdiff_backup/restore.py +++ b/rdiff-backup/rdiff_backup/restore.py @@ -235,15 +235,17 @@ class MirrorStruct: def get_diffs_from_collated(cls, collated): """Get diff iterator from collated""" for mir_rorp, target_rorp in collated: - if Globals.preserve_hardlinks: - if mir_rorp: Hardlink.add_rorp(mir_rorp, source = 1) - if target_rorp: Hardlink.add_rorp(target_rorp, source = 0) - + if Globals.preserve_hardlinks and mir_rorp: + Hardlink.add_rorp(mir_rorp, target_rorp) if (not target_rorp or not mir_rorp or not mir_rorp == target_rorp or (Globals.preserve_hardlinks and not Hardlink.rorp_eq(mir_rorp, target_rorp))): - yield cls.get_diff(mir_rorp, target_rorp) + diff = cls.get_diff(mir_rorp, target_rorp) + else: diff = None + if Globals.preserve_hardlinks and mir_rorp: + Hardlink.del_rorp(mir_rorp) + if diff: yield diff def get_diff(cls, mir_rorp, target_rorp): """Get a diff for mir_rorp at time""" |