summaryrefslogtreecommitdiff
path: root/src/cmd/list_files.rs
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-03-03 08:24:13 +0000
committerLars Wirzenius <liw@liw.fi>2021-03-03 08:24:13 +0000
commitcb68600fef426841147e322f49b2568ebaf8a8dc (patch)
treee13baf4a7e61c89397e417f0012ce946c56b68ab /src/cmd/list_files.rs
parent2862075677ee26c6790b63d8b20e8937a6c4548a (diff)
parentf3073d4516c76ba83eb1d2442b56fc3d2ceb2d32 (diff)
downloadobnam2-cb68600fef426841147e322f49b2568ebaf8a8dc.tar.gz
Merge branch 'tempfiles' into 'main'
fix: allow generation temporary files to be automatically deleted Closes #36 See merge request larswirzenius/obnam!106
Diffstat (limited to 'src/cmd/list_files.rs')
-rw-r--r--src/cmd/list_files.rs13
1 files changed, 2 insertions, 11 deletions
diff --git a/src/cmd/list_files.rs b/src/cmd/list_files.rs
index ec3e52e..71b0d68 100644
--- a/src/cmd/list_files.rs
+++ b/src/cmd/list_files.rs
@@ -6,27 +6,18 @@ use crate::fsentry::{FilesystemEntry, FilesystemKind};
use tempfile::NamedTempFile;
pub fn list_files(config: &ClientConfig, gen_ref: &str) -> Result<(), ObnamError> {
- // Create a named temporary file. We don't meed the open file
- // handle, so we discard that.
- let dbname = {
- let temp = NamedTempFile::new()?;
- let (_, dbname) = temp.keep()?;
- dbname
- };
+ let temp = NamedTempFile::new()?;
let client = BackupClient::new(config)?;
let genlist = client.list_generations()?;
let gen_id: String = genlist.resolve(gen_ref)?;
- let gen = client.fetch_generation(&gen_id, &dbname)?;
+ let gen = client.fetch_generation(&gen_id, temp.path())?;
for file in gen.files()? {
println!("{}", format_entry(&file.entry(), file.reason()));
}
- // Delete the temporary file.
- std::fs::remove_file(&dbname)?;
-
Ok(())
}