diff options
author | edef <edef@unfathomable.blue> | 2022-04-11 16:08:20 +0000 |
---|---|---|
committer | edef <edef@unfathomable.blue> | 2022-04-11 16:36:28 +0000 |
commit | bed5094bf0a20069a13936d972058200eba48976 (patch) | |
tree | f9ee084c389945a034590ddb8bad572602a79287 /ripple/fossil/src/lib.rs | |
parent | 62e3cac7747f6660d2b43ed5c21be8ab584dff5d (diff) | |
download | unf-legacy-bed5094bf0a20069a13936d972058200eba48976.tar.zst |
ripple/fossil: track file size
Change-Id: I424bd482d82471255f2ce2f17bb0b5c6eae3b77a
Diffstat (limited to 'ripple/fossil/src/lib.rs')
-rw-r--r-- | ripple/fossil/src/lib.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/ripple/fossil/src/lib.rs b/ripple/fossil/src/lib.rs index 4d3f7b0..95dec02 100644 --- a/ripple/fossil/src/lib.rs +++ b/ripple/fossil/src/lib.rs @@ -56,6 +56,7 @@ impl Store { Node::File(FileRef { executable, ident: self.write_blob(&blob), + size: blob.len().try_into().ok().expect("overflow"), }) } ty if ty.is_symlink() => { @@ -142,6 +143,7 @@ pub struct DirectoryRef { pub struct FileRef { pub ident: Digest, pub executable: bool, + pub size: u32, } impl Node { @@ -172,10 +174,15 @@ impl Directory { r#ref: ident.as_bytes().to_vec(), }) } - Node::File(FileRef { ident, executable }) => d.files.push(store::FileNode { + Node::File(FileRef { + ident, + executable, + size, + }) => d.files.push(store::FileNode { name, r#ref: ident.as_bytes().to_vec(), executable, + size, }), Node::Link { target } => d.links.push(store::LinkNode { name, target }), } @@ -203,6 +210,7 @@ impl Directory { Node::File(FileRef { ident: digest_from_bytes(&child.r#ref), executable: child.executable, + size: child.size, }), ); } |