From f1a5fb5ee99f51f06a18b7b0ffecd8763f8d96d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Thu, 14 Apr 2022 12:05:02 +0200 Subject: [PATCH] fix(cli): fix `commit.gpgsign` test in `omz pr test` Since `set -e` is enabled, when `commit.gpgsign` is not set the `git config` command would show an error. Given that it is technically not ignored, the subshell would exit. With this change, the `commit.gpgsign` setting is properly tested by doing the fallback test if the command fails, so no exit status code ends up quiting the subshell. --- lib/cli.zsh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/cli.zsh b/lib/cli.zsh index bf783d9f3..56d5b91de 100644 --- a/lib/cli.zsh +++ b/lib/cli.zsh @@ -578,8 +578,9 @@ function _omz::pr::test { # Back up commit.gpgsign setting: use --local to get the current repository # setting, not the global one. If --local is not a known option, it will # exit with a 129 status code. - gpgsign=$(command git config --local commit.gpgsign 2>/dev/null) - [[ $? -ne 129 ]] || gpgsign=$(command git config commit.gpgsign 2>/dev/null) + if ! gpgsign=$(command git config --local commit.gpgsign 2>/dev/null); then + [[ $? -ne 129 ]] || gpgsign=$(command git config commit.gpgsign 2>/dev/null) + fi command git config commit.gpgsign false command git rebase master ohmyzsh/pull-$1 || {