From bed5094bf0a20069a13936d972058200eba48976 Mon Sep 17 00:00:00 2001 From: edef Date: Mon, 11 Apr 2022 16:08:20 +0000 Subject: ripple/fossil: track file size Change-Id: I424bd482d82471255f2ce2f17bb0b5c6eae3b77a --- ripple/fossil/src/lib.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'ripple/fossil/src/lib.rs') 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, }), ); } -- cgit 1.4.1