summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup/Hardlink.py
diff options
context:
space:
mode:
authorbescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2005-10-27 06:16:39 +0000
committerbescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2005-10-27 06:16:39 +0000
commitd9b68d73175d004caed8c781c97308f7c2e3dccc (patch)
tree7be1e3b4c7a23324d6d4ef0ed5483b890ee58210 /rdiff-backup/rdiff_backup/Hardlink.py
parent80470345fa1998a033078314f77930a60ea14107 (diff)
downloadrdiff-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.py13
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