diff options
author | bescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2005-10-27 06:16:39 +0000 |
---|---|---|
committer | bescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2005-10-27 06:16:39 +0000 |
commit | d9b68d73175d004caed8c781c97308f7c2e3dccc (patch) | |
tree | 7be1e3b4c7a23324d6d4ef0ed5483b890ee58210 /rdiff-backup/rdiff_backup/Hardlink.py | |
parent | 80470345fa1998a033078314f77930a60ea14107 (diff) | |
download | rdiff-backup-d9b68d73175d004caed8c781c97308f7c2e3dccc.tar.gz |
Write SHA1 digests for all regular files
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@662 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
Diffstat (limited to 'rdiff-backup/rdiff_backup/Hardlink.py')
-rw-r--r-- | rdiff-backup/rdiff_backup/Hardlink.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/rdiff-backup/rdiff_backup/Hardlink.py b/rdiff-backup/rdiff_backup/Hardlink.py index 4bfd2ee..855c512 100644 --- a/rdiff-backup/rdiff_backup/Hardlink.py +++ b/rdiff-backup/rdiff_backup/Hardlink.py @@ -1,4 +1,4 @@ -# Copyright 2002 Ben Escoto +# Copyright 2002 2005 Ben Escoto # # This file is part of rdiff-backup. # @@ -58,13 +58,14 @@ def get_inode_key(rorp): def add_rorp(rorp, dest_rorp = None): """Process new rorp and update hard link dictionaries""" - if not rorp.isreg() or rorp.getnumlinks() < 2: return + if not rorp.isreg() or rorp.getnumlinks() < 2: return None rp_inode_key = get_inode_key(rorp) if not _inode_index.has_key(rp_inode_key): if not dest_rorp: dest_key = None elif dest_rorp.getnumlinks() == 1: dest_key = "NA" else: dest_key = get_inode_key(dest_rorp) _inode_index[rp_inode_key] = (rorp.index, rorp.getnumlinks(), dest_key) + return rp_inode_key def del_rorp(rorp): """Remove rorp information from dictionary if seen all links""" @@ -73,8 +74,12 @@ def del_rorp(rorp): val = _inode_index.get(rp_inode_key) if not val: return index, remaining, dest_key = val - if remaining == 1: del _inode_index[rp_inode_key] - else: _inode_index[rp_inode_key] = (index, remaining-1, dest_key) + if remaining == 1: + del _inode_index[rp_inode_key] + return 1 + else: + _inode_index[rp_inode_key] = (index, remaining-1, dest_key) + return 0 def rorp_eq(src_rorp, dest_rorp): """Compare hardlinked for equality |