History

refactor!: move loose header manipulation from git-pack to git-object (#250)

Sebastian Thiel committed 4 years ago

Commit 598698b1 parent ee737cd7 files · +35 −73Browse files

Showing the changes to git-object/src/commit (1 of 7 files). Show all

Unified · Split

git-object/src/commit/write.rs+14−32
@@ -23,24 +23,15 @@ impl crate::WriteTo for Commit { · 22 unmodified lines
2323 }
2424
2525 fn size(&self) -> usize {
26− let hashsize = self.tree.kind().len_in_hex();
27− b"tree".len()
28− + 1
29− + hashsize
30− + 1
31− + self.parents.iter().count() * (b"parent".len() + 1 + hashsize + 1)
32− + b"author".len()
33− + 1
34− + self.author.size()
35− + 1
36− + b"committer".len()
37− + 1
38− + self.committer.size()
39− + 1
26+ let hash_in_hex = self.tree.kind().len_in_hex();
27+ b"tree".len() + 1 /*space*/ + hash_in_hex + 1 /* nl */
28+ + self.parents.iter().count() * (b"parent".len() + 1 + hash_in_hex + 1)
29+ + b"author".len() + 1 /* space */ + self.author.size() + 1 /* nl */
30+ + b"committer".len() + 1 /* space */ + self.committer.size() + 1 /* nl */
4031 + self
4132 .encoding
4233 .as_ref()
43− .map(|e| b"encoding".len() + 1 + e.len() + 1)
34+ .map(|e| b"encoding".len() + 1 /* space */ + e.len() + 1 /* nl */)
4435 .unwrap_or(0)
4536 + self
4637 .extra_headers
@@ -50,7 +41,7 @@ impl crate::WriteTo for Commit { · 3 unmodified lines
5041 name.len() + value.split_str("\n").map(|s| s.len() + 2).sum::<usize>()
5142 })
5243 .sum::<usize>()
53− + 1
44+ + 1 /* nl */
5445 + self.message.len()
5546 }
5647
@@ -79,24 +70,15 @@ impl<'a> crate::WriteTo for CommitRef<'a> { · 22 unmodified lines
7970 }
8071
8172 fn size(&self) -> usize {
82− let hashsize = self.tree().kind().len_in_hex();
83− b"tree".len()
84− + 1
85− + hashsize
86− + 1
87− + self.parents.iter().count() * (b"parent".len() + 1 + hashsize + 1)
88− + b"author".len()
89− + 1
90− + self.author.size()
91− + 1
92− + b"committer".len()
93− + 1
94− + self.committer.size()
95− + 1
73+ let hash_in_hex = self.tree().kind().len_in_hex();
74+ b"tree".len() + 1 /* space */ + hash_in_hex + 1 /* nl */
75+ + self.parents.iter().count() * (b"parent".len() + 1 /* space */ + hash_in_hex + 1 /* nl */)
76+ + b"author".len() + 1 /* space */ + self.author.size() + 1 /* nl */
77+ + b"committer".len() + 1 /* space */ + self.committer.size() + 1 /* nl */
9678 + self
9779 .encoding
9880 .as_ref()
99− .map(|e| b"encoding".len() + 1 + e.len() + 1)
81+ .map(|e| b"encoding".len() + 1 /* space */ + e.len() + 1 /* nl */)
10082 .unwrap_or(0)
10183 + self
10284 .extra_headers
@@ -106,7 +88,7 @@ impl<'a> crate::WriteTo for CommitRef<'a> { · 3 unmodified lines
10688 name.len() + value.split_str("\n").map(|s| s.len() + 2).sum::<usize>()
10789 })
10890 .sum::<usize>()
109− + 1
91+ + 1 /* nl */
11092 + self.message.len()
11193 }
11294