From 6a83f74282374c7b92df03c0d8fb121d45a14293 Mon Sep 17 00:00:00 2001 From: Trevor Bentley Date: Sun, 15 Jan 2023 02:55:47 +0100 Subject: [PATCH] fix tags missing from alt_refs --- README.md | 1 + src/git.rs | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 82e9140..71dafa0 100644 --- a/README.md +++ b/README.md @@ -175,6 +175,7 @@ Small repositories with dozens to hundreds of commits can be generated on the or * No permalinks. Links to file contents are invalidated if the file changes. * High memory usage for large repositories. * Limited to the pre-defined set of input templates. +* Leaves output in unknown, partial state in case of errors. ## Main Dependencies diff --git a/src/git.rs b/src/git.rs index 875b9b9..f2d4509 100644 --- a/src/git.rs +++ b/src/git.rs @@ -265,10 +265,13 @@ pub fn parse_repo( for refr in repo.references()? { let refr = refr?; if let (Some(target), Some(name)) = (refr.target(), refr.shorthand()) { - let id = target.to_string(); + let id = match refr.peel_to_tag() { + Ok(tag) => tag.target_id().to_string(), + _ => target.to_string(), + }; match references.contains_key(&id) { false => { - references.insert(target.to_string(), vec![name.to_string()]); + references.insert(id, vec![name.to_string()]); } true => { references.get_mut(&id).unwrap().push(name.to_string());