aboutsummaryrefslogtreecommitdiffhomepage
path: root/devel
diff options
context:
space:
mode:
authorGravatar W. Trevor King <wking@tremily.us>2014-07-06 13:40:20 -0700
committerGravatar David Bremner <david@tethera.net>2014-07-16 19:31:28 -0300
commit567aab405b05d9ef79ddf1b62302806b9ddbeaad (patch)
treea4fe040d094f7ad06a41dbc6872ec85258475745 /devel
parentc2bbe9eb6c46b2f1723ce6c5e26816dd82e42c6f (diff)
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 <command> [<revision>...] -- [<file>...]' '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.
Diffstat (limited to 'devel')
-rwxr-xr-xdevel/nmbug/nmbug5
1 files changed, 4 insertions, 1 deletions
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);