From 567aab405b05d9ef79ddf1b62302806b9ddbeaad Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Sun, 6 Jul 2014 13:40:20 -0700 Subject: [PATCH] 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. --- devel/nmbug/nmbug | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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);