... | ... |
@@ -35,7 +35,8 @@ class FileDict(SortedDict): |
35 | 35 |
self[relative_file]['md5'] = md5 |
36 | 36 |
return md5 |
37 | 37 |
|
38 |
- def record_hardlink(self, relative_file, dev, inode, md5): |
|
38 |
+ def record_hardlink(self, relative_file, dev, inode, md5, size): |
|
39 |
+ if size == 0: return # don't record 0-length files |
|
39 | 40 |
if dev == 0 or inode == 0: return # Windows |
40 | 41 |
if dev not in self.hardlinks: |
41 | 42 |
self.hardlinks[dev] = dict() |
... | ... |
@@ -247,7 +247,7 @@ def fetch_local_list(args, is_src = False, recursive = None): |
247 | 247 |
except IOError: |
248 | 248 |
continue |
249 | 249 |
cache.add(sr.st_dev, sr.st_ino, sr.st_mtime, sr.st_size, md5) |
250 |
- loc_list.record_hardlink(relative_file, sr.st_dev, sr.st_ino, md5) |
|
250 |
+ loc_list.record_hardlink(relative_file, sr.st_dev, sr.st_ino, md5, sr.st_size) |
|
251 | 251 |
return loc_list, single_file |
252 | 252 |
|
253 | 253 |
def _maintain_cache(cache, local_list): |