diff --git a/src/cli/backup.rs b/src/cli/backup.rs index 2ec1e2c..6810e42 100644 --- a/src/cli/backup.rs +++ b/src/cli/backup.rs @@ -9,15 +9,29 @@ use std::path::{Path, PathBuf}; #[derive(Subcommand)] pub enum BackupCommands { /// List all tracked backups + /// + /// Note that this will only list backups for the layers currently configured, and will ignore + /// any other layers also present in the backup directory. List(BackupListArgs), /// Manually create a new backup + /// + /// Note that backups created using this command will count towards the length of a chain, and + /// can therefore shorten how far back in time your backups will be stored. Create(BackupCreateArgs), - /// Restore a backup including all of its required predecessors + /// Restore a backup + /// + /// This command will restore the selected backup by extracting its entire chain up to and + /// including the requested backup in-order. Restore(BackupRestoreArgs), /// Export a backup into a full archive + /// + /// Just like the restore command, this will extract each backup from the chain up to and + /// including the requested backup, but instead of writing the files to disk, they will be + /// recompressed into a new tarball, resulting in a new tarball containing a full backup. Export(BackupExportArgs), - /// Extract a single backup; meant as a convenience method for working with the output of - /// `export` + /// Extract an archive file, which is assumed to be a full backup. + /// + /// This command mostly exists as a convenience method for working with the output of `export`. Extract(BackupExtractArgs), } @@ -48,6 +62,9 @@ pub struct BackupRestoreArgs { /// Directory to store worlds in output_worlds: PathBuf, /// Whether to overwrite the contents of the output directories + /// + /// If set, the output directories will be completely cleared before trying to restore the + /// backup. #[arg(short, long, default_value_t = false)] force: bool, /// Create output directories if they don't exist @@ -75,6 +92,9 @@ pub struct BackupExtractArgs { /// Directory to store worlds in output_worlds: PathBuf, /// Whether to overwrite the contents of the output directories + /// + /// If set, the output directories will be completely cleared before trying to restore the + /// backup. #[arg(short, long, default_value_t = false)] force: bool, /// Create output directories if they don't exist