diff options
author | W. Trevor King <wking@tremily.us> | 2014-07-06 13:40:20 -0700 |
---|---|---|
committer | David Bremner <david@tethera.net> | 2014-07-16 19:31:28 -0300 |
commit | 567aab405b05d9ef79ddf1b62302806b9ddbeaad (patch) | |
tree | a4fe040d094f7ad06a41dbc6872ec85258475745 | |
parent | c2bbe9eb6c46b2f1723ce6c5e26816dd82e42c6f (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.
-rwxr-xr-x | devel/nmbug/nmbug | 5 |
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); |