diff options
author | Rosyid Haryadi <rosyid_haryadi@protonmail.com> | 2025-03-18 15:32:50 +0700 |
---|---|---|
committer | Rosyid Haryadi <rosyid_haryadi@protonmail.com> | 2025-03-18 15:32:50 +0700 |
commit | a8cf3b2757dee028e86f7cc6848b741c46dd933a (patch) | |
tree | d263a03b8f0089c6d4ef84fbb3700ccfc1ba8e6d /src/object.rs | |
parent | a173c17a4b45f30a0190050beb96684cf03ab5f0 (diff) |
upd: implementing cat-file & add readme
Diffstat (limited to 'src/object.rs')
-rw-r--r-- | src/object.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/object.rs b/src/object.rs index 12f83ae..8877641 100644 --- a/src/object.rs +++ b/src/object.rs @@ -1,3 +1,4 @@ +use std::fmt::{Display, Formatter}; use crate::utilities::{deserialize_kv_with_message, serialize_kv_with_message}; use crate::{create_path_or_die, die}; use derive_is_enum_variant::is_enum_variant; @@ -143,4 +144,15 @@ impl GitCommit { pub fn serialize(&self) -> Vec<u8> { serialize_kv_with_message(&self.header, self.message.as_str()) } +} + +impl Display for GitCommit { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + for (k, v) in self.header { + write!(f, "{} {}\n", k, v)?; + } + write!(f, "\n")?; + write!(f, "{}", self.message)?; + Ok(()) + } }
\ No newline at end of file |