From 6dbfc533a6157bd47408d9c7b0f9ef70230d49e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gon=C3=A7alo=20Val=C3=A9rio?= Date: Sun, 1 Nov 2020 23:01:24 +0000 Subject: [PATCH] step sixteen: set parent to HEAD --- src/base.rs | 5 +++++ src/data.rs | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/base.rs b/src/base.rs index f540be9..1e44efb 100644 --- a/src/base.rs +++ b/src/base.rs @@ -64,6 +64,11 @@ pub fn read_tree(oid: String) { pub fn commit(message: &str) -> String { let mut commit = format!("tree {}\n", write_tree(".".to_owned())); + + if let Ok(head) = data::get_head() { + commit += format!("parent {}\n", head).as_str(); + } + commit += "\n"; commit += format!("{}\n", message).as_str(); diff --git a/src/data.rs b/src/data.rs index 336e9a3..e520303 100644 --- a/src/data.rs +++ b/src/data.rs @@ -45,3 +45,8 @@ pub fn get_object(hash: String, expected: String) -> String { pub fn set_head(oid: String) { fs::write(format!("{}/HEAD", RGIT_DIR), oid).expect("Failed to updated HEAD"); } + +pub fn get_head() -> Result> { + let oid = fs::read_to_string(format!("{}/HEAD", RGIT_DIR))?; + return Ok(oid); +}