From aa8d6c61c793e6328bbf679daa5e57b2690145e3 Mon Sep 17 00:00:00 2001 From: Alexander Weiss Date: Wed, 21 Sep 2022 20:38:39 +0200 Subject: [PATCH] backup: Add --host option --- src/commands/backup.rs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/commands/backup.rs b/src/commands/backup.rs index 88acb11..32d5377 100644 --- a/src/commands/backup.rs +++ b/src/commands/backup.rs @@ -70,6 +70,10 @@ pub(super) struct Opts { #[merge(skip)] stdin_filename: String, + /// Set the host name manually + #[clap(long, value_name = "NAME")] + host: Option, + #[clap(flatten)] #[serde(flatten)] ignore_opts: LocalSourceOptions, @@ -139,11 +143,16 @@ pub(super) async fn execute( .ok_or_else(|| anyhow!("non-unicode path {:?}", backup_path))? .to_string(); - let hostname = gethostname(); - let hostname = hostname - .to_str() - .ok_or_else(|| anyhow!("non-unicode hostname {:?}", hostname))? - .to_string(); + let hostname = match opts.host { + Some(host) => host, + None => { + let hostname = gethostname(); + hostname + .to_str() + .ok_or_else(|| anyhow!("non-unicode hostname {:?}", hostname))? + .to_string() + } + }; let parent = match (backup_stdin, opts.force, opts.parent.clone()) { (true, _, _) | (false, true, _) => None,