From: W. Trevor King Date: Sun, 6 Jul 2014 20:40:20 +0000 (-0700) Subject: nmbug: Handle missing @upstream in is_unmerged X-Git-Tag: 0.19_rc1~125 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=567aab405b05d9ef79ddf1b62302806b9ddbeaad nmbug: Handle missing @upstream in is_unmerged If we don't have an upstream, there is nothing to merge, so nothing is unmerged. This avoids errors like: $ nmbug status error: No upstream configured for branch 'master' error: No upstream configured for branch 'master' fatal: ambiguous argument '@{upstream}': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git [...] -- [...]' 'git rev-parse @{upstream}' exited with nonzero value You might not have an upstream if you're only using nmbug locally to version-control your tags. --- diff --git a/devel/nmbug/nmbug b/devel/nmbug/nmbug index 4a797226..998ee6b4 100755 --- a/devel/nmbug/nmbug +++ b/devel/nmbug/nmbug @@ -430,7 +430,10 @@ sub do_status { sub is_unmerged { my $commit = shift || '@{upstream}'; - my $fetch_head = git ('rev-parse', $commit); + my ($fetch_head, $status) = git_with_status ('rev-parse', $commit); + if ($status) { + return 0; + } my $base = git ( 'merge-base', 'HEAD', $commit); return ($base ne $fetch_head);