diff options
author | Lars Wirzenius <liw@liw.fi> | 2022-03-03 18:51:38 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2022-03-06 09:25:56 +0200 |
commit | 630ef5e8aa07545daf4c6bb5b23992cdd54c1ce2 (patch) | |
tree | 4df213380736ff9904e9b7a3874a6e67043c1bbe /src/cmd/backup.rs | |
parent | f71d15936dfe1357d771339801cef39dddc02eaa (diff) | |
download | obnam2-630ef5e8aa07545daf4c6bb5b23992cdd54c1ce2.tar.gz |
refactor: use new database abstraction for generations
Sponsored-by: author
Diffstat (limited to 'src/cmd/backup.rs')
-rw-r--r-- | src/cmd/backup.rs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/cmd/backup.rs b/src/cmd/backup.rs index e4569e8..dae9811 100644 --- a/src/cmd/backup.rs +++ b/src/cmd/backup.rs @@ -10,7 +10,7 @@ use crate::generation::GenId; use log::info; use std::time::SystemTime; use structopt::StructOpt; -use tempfile::NamedTempFile; +use tempfile::tempdir; use tokio::runtime::Runtime; /// Make a backup. @@ -30,21 +30,22 @@ impl Backup { let client = BackupClient::new(config)?; let genlist = client.list_generations().await?; - let oldtemp = NamedTempFile::new()?; - let newtemp = NamedTempFile::new()?; + let temp = tempdir()?; + let oldtemp = temp.path().join("old.db"); + let newtemp = temp.path().join("new.db"); let (is_incremental, outcome) = match genlist.resolve("latest") { Err(_) => { info!("fresh backup without a previous generation"); let mut run = BackupRun::initial(config, &client)?; - let old = run.start(None, oldtemp.path()).await?; - (false, run.backup_roots(config, &old, newtemp.path()).await?) + let old = run.start(None, &oldtemp).await?; + (false, run.backup_roots(config, &old, &newtemp).await?) } Ok(old_id) => { info!("incremental backup based on {}", old_id); let mut run = BackupRun::incremental(config, &client)?; - let old = run.start(Some(&old_id), oldtemp.path()).await?; - (true, run.backup_roots(config, &old, newtemp.path()).await?) + let old = run.start(Some(&old_id), &oldtemp).await?; + (true, run.backup_roots(config, &old, &newtemp).await?) } }; |