Signed-off-by: Rob Browning <
r...@defaultvalue.org>
Tested-by: Rob Browning <
r...@defaultvalue.org>
---
lib/bup/cmd/restore.py | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/lib/bup/cmd/restore.py b/lib/bup/cmd/restore.py
index 1aeff28a..0c971f23 100644
--- a/lib/bup/cmd/restore.py
+++ b/lib/bup/cmd/restore.py
@@ -189,14 +189,16 @@ def restore(repo, parent_path, name, item, top, sparse, numeric_ids, owner_map,
meta = item.meta
meta.create_path(name)
os.chdir(name)
- total_restored += 1
- if verbosity >= 0:
- qprogress('Restoring: %d\r' % total_restored)
- for sub_name, sub_item in sub_items:
- restore(repo, fullname, sub_name, sub_item, top, sparse,
- numeric_ids, owner_map, exclude_rxs, verbosity,
- hardlinks)
- os.chdir(b'..')
+ try:
+ total_restored += 1
+ if verbosity >= 0:
+ qprogress('Restoring: %d\r' % total_restored)
+ for sub_name, sub_item in sub_items:
+ restore(repo, fullname, sub_name, sub_item, top, sparse,
+ numeric_ids, owner_map, exclude_rxs, verbosity,
+ hardlinks)
+ finally:
+ os.chdir(b'..')
apply_metadata(meta, name, numeric_ids, owner_map)
else:
created_hardlink = False
--
2.47.3