From 1b1af9fac1a57b620bc3ea3214438d7d6c6a5e74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gon=C3=A7alo=20Val=C3=A9rio?= Date: Tue, 1 Dec 2020 23:29:49 +0000 Subject: [PATCH] step fifty seven: retrieve remote refs in a separate function --- src/remote.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/remote.rs b/src/remote.rs index 8365a94..b4ddeeb 100644 --- a/src/remote.rs +++ b/src/remote.rs @@ -1,11 +1,21 @@ +use std::collections::HashMap; + #[path = "data.rs"] mod data; pub fn fetch(path: String) { println!("Will fetch the following refs:"); + for (refname, _) in get_remote_refs(path, "refs/heads").iter() { + println!("- {}", refname); + } +} + +fn get_remote_refs(path: String, prefix: &str) -> HashMap { + let mut refs = HashMap::new(); data::set_rgit_dir(path.as_str()); - for (refname, _) in data::iter_refs("refs/heads", true) { - println!(" - {}", refname); + for (refname, reference) in data::iter_refs(prefix, true) { + refs.insert(refname, reference.value); } data::reset_rgit_dir(); + return refs; }