From 39ca6de46e0c611b42185dd6bb20ee545fb41f75 Mon Sep 17 00:00:00 2001 From: Eric Torres Date: Tue, 16 Apr 2019 13:48:52 -0700 Subject: [PATCH] Add symlinking functionality in create_snapshot --- bin/backup | 2 -- rbackup/struct/repository.py | 5 ++++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bin/backup b/bin/backup index 7a094c5..6d933c6 100644 --- a/bin/backup +++ b/bin/backup @@ -154,8 +154,6 @@ if __name__ == "__main__": os.umask(old_umask) exit(E_FAILED_PROCESS) - repo.symlink_snapshot(curr_snapshot) - if args.run_post_sync: syslog.info("Running sync operation") os.sync() diff --git a/rbackup/struct/repository.py b/rbackup/struct/repository.py index a654aab..499c2de 100644 --- a/rbackup/struct/repository.py +++ b/rbackup/struct/repository.py @@ -238,7 +238,9 @@ class Repository(Hierarchy): raise ValueError(f"'{name}' is an invalid name") elif snapshot_name in self: syslog.warning("Snapshot already exists, data will be overwritten.") - return self._snapshots[self._snapshot_metadata.index(snapshot_name)] + existing_snapshot = self._snapshots[self._snapshot_metadata.index(snapshot_name)] + self.symlink_snapshot(existing_snapshot) + return existing_snapshot else: new_snapshot = Snapshot(self.snapshot_dir / snapshot_name) self._snapshot_metadata.append(snapshot_name) @@ -249,6 +251,7 @@ class Repository(Hierarchy): syslog.debug("Snapshot created") syslog.debug(f"Snapshot name: {new_snapshot.name}") + self.symlink_snapshot(new_snapshot) return new_snapshot def gen_metadata(self):