Fix rewrite handling logic in beancount-tree-writer
Dependencies
- [2]
2PCWN3KWOnly rewrite changed files - [3]
2JBFREZGenable additional warnings - [*]
D6UTHZA4add a simple writer for saving a set of directives to a tree of files
Change contents
- edit in common/beancount-tree-writer/src/lib.rs at line 9
use std::io::Seek; - replacement in common/beancount-tree-writer/src/lib.rs at line 197
let size =usize::try_from(file.metadata()?.len()).expect("file should be smaller than usize::MAX");let buffer_len = u64::try_from(buffer.len()).expect("should always work");let file_size = file.metadata()?.len(); - replacement in common/beancount-tree-writer/src/lib.rs at line 200
if buffer.len() == size {let mut current_contents = Vec::with_capacity(size);if buffer_len == file_size {let mut current_contents = Vec::with_capacity(buffer.len()); - edit in common/beancount-tree-writer/src/lib.rs at line 208
// Ensure cursor points to beginning of filefile.rewind()?; - replacement in common/beancount-tree-writer/src/lib.rs at line 215
file.set_len(u64::try_from(buffer.len()).expect("should always work"))file.set_len(buffer_len)?;file.sync_all()?;tracing::debug!(%path, "successfully wrote account file");Ok(())