From e6fa8a0eeb95fe84a88a4444598c0be7780e1e0f Mon Sep 17 00:00:00 2001 From: Chewing_Bever Date: Tue, 4 Jul 2023 15:49:16 +0200 Subject: [PATCH 1/2] docs: add a few docstrings --- src/backup/manager/mod.rs | 3 ++- src/backup/mod.rs | 22 +++++++++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/backup/manager/mod.rs b/src/backup/manager/mod.rs index 7969021..72743b7 100644 --- a/src/backup/manager/mod.rs +++ b/src/backup/manager/mod.rs @@ -53,7 +53,8 @@ where } } - /// Create a new backup with the expected type. + /// Create a new backup, either full or incremental, depending on the state of the current + /// chain. pub fn create_backup(&mut self) -> io::Result<()> { // We start a new chain if the current chain is complete, or if there isn't a first chain // yet diff --git a/src/backup/mod.rs b/src/backup/mod.rs index ea7f2f9..a4081f9 100644 --- a/src/backup/mod.rs +++ b/src/backup/mod.rs @@ -56,6 +56,7 @@ impl Backup<()> { } impl Backup { + /// Set the backup's metadata. pub fn set_metadata(&mut self, metadata: T) { self.metadata = Some(metadata); } @@ -126,7 +127,19 @@ impl Backup { }) } - /// Create a new incremental backup from a given previous backup + /// Create a new Incremental backup from the given state, populated with the given directories. + /// + /// # Arguments + /// + /// * `previous_state` - State the file system was in during the previous backup in the chain + /// * `previous_start_time` - Start time of the previous backup; used to filter files + /// * `backup_dir` - Directory to store archive in + /// * `dirs` - list of tuples `(path_in_tar, src_dir)` with `path_in_tar` the directory name + /// under which `src_dir`'s contents should be stored in the archive + /// + /// # Returns + /// + /// The `Backup` instance describing this new backup. pub fn create_from>( previous_state: HashMap>, previous_start_time: chrono::DateTime, @@ -184,6 +197,13 @@ impl Backup { }) } + /// Restore the backup by extracting its contents to the respective directories. + /// + /// # Arguments + /// + /// * `backup_dir` - Backup directory where the file is stored + /// * `dirs` - list of tuples `(path_in_tar, dst_dir)` with `dst_dir` the directory on-disk + /// where the files stored under `path_in_tar` inside the tarball should be extracted to. pub fn restore>( &self, backup_dir: P, From 75e9d7a9d288a907a2c3edb0641f29e4850b96ae Mon Sep 17 00:00:00 2001 From: Chewing_Bever Date: Tue, 4 Jul 2023 15:55:52 +0200 Subject: [PATCH 2/2] chore: bumb version to 0.3.0 --- CHANGELOG.md | 2 ++ Cargo.lock | 2 +- Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d961db0..2c9711d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased](https://git.rustybever.be/Chewing_Bever/alex/src/branch/dev) +## [0.3.0](https://git.rustybever.be/Chewing_Bever/alex/src/tag/0.3.0) + ### Added * Incremental backups diff --git a/Cargo.lock b/Cargo.lock index 5ba48c9..bbe03a6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10,7 +10,7 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "alex" -version = "0.2.2" +version = "0.3.0" dependencies = [ "chrono", "clap", diff --git a/Cargo.toml b/Cargo.toml index 2ac6b39..4e3e88b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "alex" -version = "0.2.2" +version = "0.3.0" description = "Wrapper around Minecraft server processes, designed to complement Docker image installations." authors = ["Jef Roosens"] edition = "2021"