step fifteen: record hash of last commit to HEAD

This commit is contained in:
Gonçalo Valério 2020-11-01 22:38:22 +00:00
parent 17072abf21
commit 909320d2fb
2 changed files with 8 additions and 2 deletions

View File

@ -67,7 +67,9 @@ pub fn commit(message: &str) -> String {
commit += "\n";
commit += format!("{}\n", message).as_str();
return data::hash_object(&commit.into_bytes(), "commit".to_owned());
let oid = data::hash_object(&commit.into_bytes(), "commit".to_owned());
data::set_head(oid.clone());
return oid;
}
fn is_ignored(path: &String) -> bool {
@ -112,7 +114,7 @@ fn get_tree(oid: String, base_path: String) -> HashMap<String, String> {
}
fn empty_current_directory(dir: &str) -> io::Result<()> {
// Delete current directory, less the ignored directories
// Delete current directory, except the ignored directories and files
for entry in fs::read_dir(dir)? {
let entry = entry?;
let path = entry.path();

View File

@ -41,3 +41,7 @@ pub fn get_object(hash: String, expected: String) -> String {
return data;
}
pub fn set_head(oid: String) {
fs::write(format!("{}/HEAD", RGIT_DIR), oid).expect("Failed to updated HEAD");
}