diff options
author | Lars Wirzenius <liw@liw.fi> | 2021-03-03 08:24:13 +0000 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2021-03-03 08:24:13 +0000 |
commit | cb68600fef426841147e322f49b2568ebaf8a8dc (patch) | |
tree | e13baf4a7e61c89397e417f0012ce946c56b68ab /src/cmd/list_files.rs | |
parent | 2862075677ee26c6790b63d8b20e8937a6c4548a (diff) | |
parent | f3073d4516c76ba83eb1d2442b56fc3d2ceb2d32 (diff) | |
download | obnam2-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.rs | 13 |
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(()) } |