diff options
| author | Michael Allen <michael@michaelallen.io> | 2015-03-09 11:48:49 +0000 | 
|---|---|---|
| committer | Michael Allen <michael@michaelallen.io> | 2015-03-09 11:48:49 +0000 | 
| commit | 82f5bd7c9c9118f2e5b623860beee1c76e03cec0 (patch) | |
| tree | 21b077bac2eef1dbd16985412c0fc73c45531b6f | |
| parent | d95454d16ff21e860669287f194111367e3da9d2 (diff) | |
| download | git-sonar-82f5bd7c9c9118f2e5b623860beee1c76e03cec0.tar.gz git-sonar-82f5bd7c9c9118f2e5b623860beee1c76e03cec0.zip | |
prevent bad grep usage when no branch_name
| -rwxr-xr-x | git-base.sh | 14 | ||||
| -rwxr-xr-x | test-branches.sh | 6 | 
2 files changed, 11 insertions, 9 deletions
| diff --git a/git-base.sh b/git-base.sh index 40f733b..2debafa 100755 --- a/git-base.sh +++ b/git-base.sh @@ -123,12 +123,14 @@ readable_branch_name() {  remote_branch_name() {    local localRef="$(branch_name)" -  local remoteBranch="$(git for-each-ref --format='%(upstream:short)' refs/heads $localRef 2>/dev/null | grep $localRef)" -  if [[ -n $remoteBranch ]]; then -    echo $remoteBranch -    return 0 -  else -    return 1 +  if [[ -n "$localRef" ]]; then +    local remoteBranch="$(git for-each-ref --format='%(upstream:short)' refs/heads $localRef 2>/dev/null | grep $localRef)" +    if [[ -n $remoteBranch ]]; then +      echo $remoteBranch +      return 0 +    else +      return 1 +    fi    fi  } diff --git a/test-branches.sh b/test-branches.sh index 40c5a50..4e52242 100755 --- a/test-branches.sh +++ b/test-branches.sh @@ -83,16 +83,16 @@ test_remote_branch_name_quiet_when_not_in_repo() {    debug_output="$(      { -    set -x      output="$(        remote_branch_name;      )" -    set +x      } 2>&1      echo "$output"    )" -  usages="$(echo "$debug_output" | grep 'fatal: ' | wc -l)" +  usages="$(echo "$debug_output" | grep -E "(usage|fatal):" | wc -l)" + +  echo "$debug_output"    assertEquals "       0" "$usages" | 
