From 80f17d794daf6e96437c8e60a44b59254ab0bb29 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Wed, 18 Jun 2025 12:16:45 +0100 Subject: fix: add HEAD if one isn't listed in state to fix nostr: note17kwthy92v8tkpgw2kfkhv5x5j9tdves0mznu80qcflly7vunteaqxwag94 --- src/lib/repo_state.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/lib/repo_state.rs b/src/lib/repo_state.rs index f061158..aa60f54 100644 --- a/src/lib/repo_state.rs +++ b/src/lib/repo_state.rs @@ -30,6 +30,24 @@ impl RepoState { } } } + // Include a HEAD if one isn't listed to prevent errors when users git config + // default branch isn't in the state event + if !state.contains_key("HEAD") { + if state.contains_key("refs/heads/master") { + state.insert("HEAD".to_string(), "ref: refs/heads/master".to_string()); + } else if state.contains_key("refs/heads/main") { + state.insert("HEAD".to_string(), "ref: refs/heads/main".to_string()); + } else if let Some(tag) = event + .tags + .iter() + .find(|t| t.len() > 1 && t.as_slice()[0].starts_with("refs/heads/")) + { + state.insert( + "HEAD".to_string(), + format!("ref: {}", tag.clone().to_vec()[0]), + ); + } + } Ok(RepoState { identifier: event .tags -- cgit v1.2.3