docs: add a few docstrings

export-backup
Jef Roosens 2023-07-04 15:49:16 +02:00
parent 55c5f24937
commit e6fa8a0eeb
Signed by: Jef Roosens
GPG Key ID: B75D4F293C7052DB
2 changed files with 23 additions and 2 deletions

View File

@ -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<()> { 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 // We start a new chain if the current chain is complete, or if there isn't a first chain
// yet // yet

View File

@ -56,6 +56,7 @@ impl Backup<()> {
} }
impl<T: Clone> Backup<T> { impl<T: Clone> Backup<T> {
/// Set the backup's metadata.
pub fn set_metadata(&mut self, metadata: T) { pub fn set_metadata(&mut self, metadata: T) {
self.metadata = Some(metadata); self.metadata = Some(metadata);
} }
@ -126,7 +127,19 @@ impl<T: Clone> Backup<T> {
}) })
} }
/// 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<P: AsRef<Path>>( pub fn create_from<P: AsRef<Path>>(
previous_state: HashMap<PathBuf, HashSet<PathBuf>>, previous_state: HashMap<PathBuf, HashSet<PathBuf>>,
previous_start_time: chrono::DateTime<Utc>, previous_start_time: chrono::DateTime<Utc>,
@ -184,6 +197,13 @@ impl<T: Clone> Backup<T> {
}) })
} }
/// 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<P: AsRef<Path>>( pub fn restore<P: AsRef<Path>>(
&self, &self,
backup_dir: P, backup_dir: P,