diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2025-06-18 12:16:45 +0100 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2025-06-18 12:16:45 +0100 |
| commit | 80f17d794daf6e96437c8e60a44b59254ab0bb29 (patch) | |
| tree | 5da002e12b7c438e4ebb6eee10d58e82ce08856c /src/lib/repo_state.rs | |
| parent | 6fbbc8ccb8ec330e7963a4333944db69f2e4dc9f (diff) | |
fix: add HEAD if one isn't listed in state
to fix nostr: note17kwthy92v8tkpgw2kfkhv5x5j9tdves0mznu80qcflly7vunteaqxwag94
Diffstat (limited to 'src/lib/repo_state.rs')
| -rw-r--r-- | src/lib/repo_state.rs | 18 |
1 files changed, 18 insertions, 0 deletions
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 { | |||
| 30 | } | 30 | } |
| 31 | } | 31 | } |
| 32 | } | 32 | } |
| 33 | // Include a HEAD if one isn't listed to prevent errors when users git config | ||
| 34 | // default branch isn't in the state event | ||
| 35 | if !state.contains_key("HEAD") { | ||
| 36 | if state.contains_key("refs/heads/master") { | ||
| 37 | state.insert("HEAD".to_string(), "ref: refs/heads/master".to_string()); | ||
| 38 | } else if state.contains_key("refs/heads/main") { | ||
| 39 | state.insert("HEAD".to_string(), "ref: refs/heads/main".to_string()); | ||
| 40 | } else if let Some(tag) = event | ||
| 41 | .tags | ||
| 42 | .iter() | ||
| 43 | .find(|t| t.len() > 1 && t.as_slice()[0].starts_with("refs/heads/")) | ||
| 44 | { | ||
| 45 | state.insert( | ||
| 46 | "HEAD".to_string(), | ||
| 47 | format!("ref: {}", tag.clone().to_vec()[0]), | ||
| 48 | ); | ||
| 49 | } | ||
| 50 | } | ||
| 33 | Ok(RepoState { | 51 | Ok(RepoState { |
| 34 | identifier: event | 52 | identifier: event |
| 35 | .tags | 53 | .tags |