summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Knaack <davidkna@users.noreply.github.com>2021-05-19 19:08:48 +0200
committerGitHub <noreply@github.com>2021-05-19 19:08:48 +0200
commit78b84c9f34640d27e743290e855f28971c0903e7 (patch)
treea1f8c91e71e0338c01ebdf1e566ea70ce5c58891
parentc58d1279740179a3fcbbbf35a884160302a7d696 (diff)
fix(git_commit): remove unwraps (#2743)
-rw-r--r--src/modules/git_commit.rs17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/modules/git_commit.rs b/src/modules/git_commit.rs
index 864f9144d..eea8c386e 100644
--- a/src/modules/git_commit.rs
+++ b/src/modules/git_commit.rs
@@ -46,13 +46,18 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
if !config.tag_disabled {
// Let's get repo tags names
let tag_names = git_repo.tag_names(None).ok()?;
- let tag_and_refs = tag_names.iter().flat_map(|name| {
- let full_tag = format!("refs/tags/{}", name.unwrap());
+ let tag_and_refs = tag_names.iter().flatten().flat_map(|name| {
+ let full_tag = format!("refs/tags/{}", name);
let tag_obj = git_repo.find_reference(&full_tag)?.peel_to_tag()?;
- let sig_obj = tag_obj.tagger().unwrap();
- git_repo
- .find_reference(&full_tag)
- .map(|reference| (String::from(name.unwrap()), sig_obj.when(), reference))
+ let sig_obj = tag_obj.tagger();
+ git_repo.find_reference(&full_tag).map(|reference| {
+ (
+ String::from(name),
+ // fall back to oldest + 1s time if sig_obj is unavailable
+ sig_obj.map_or(git2::Time::new(1, 0), |s| s.when()),
+ reference,
+ )
+ })
});
let mut tag_name = String::new();