diff options
Diffstat (limited to '')
| -rwxr-xr-x | git-base.sh | 16 | ||||
| -rwxr-xr-x | test-commits.sh | 41 | 
2 files changed, 53 insertions, 4 deletions
| diff --git a/git-base.sh b/git-base.sh index f854ae3..950422d 100755 --- a/git-base.sh +++ b/git-base.sh @@ -167,11 +167,15 @@ remote_behind_of_master() {    tracked_remote="origin/master"    if [[ -n "$remote_branch" && "$remote_branch" != "$tracked_remote" ]]; then      set -- -    set -- $(git rev-list --left-right --count origin/master...${remote_branch}) +    set -- $(git rev-list --left-right --count ${tracked_remote}...${remote_branch} 2>/dev/null)      behind=$1      ahead=$2      set -- -    echo $behind +    if [[ -n "$behind" ]]; then +      echo $behind +    else +      echo "0" +    fi    else      echo "0"    fi @@ -182,11 +186,15 @@ remote_ahead_of_master() {    tracked_remote="origin/master"    if [[ -n "$remote_branch" && "$remote_branch" != "$tracked_remote" ]]; then      set -- -    set -- $(git rev-list --left-right --count origin/master...${remote_branch}) +    set -- $(git rev-list --left-right --count ${tracked_remote}...${remote_branch} 2>/dev/null)      behind=$1      ahead=$2      set -- -    echo $ahead +    if [[ -n "$ahead" ]]; then +      echo $ahead +    else +      echo "0" +    fi    else      echo "0"    fi diff --git a/test-commits.sh b/test-commits.sh index e1800aa..340365d 100755 --- a/test-commits.sh +++ b/test-commits.sh @@ -259,4 +259,45 @@ test_dont_remote_if_remote_is_master() {    rm_tmp  } +test_quiet_if_no_remote_master() { +  cd_to_tmp "remote" +  git init --quiet +  touch README +  git add . +  git checkout -b foo --quiet +  git commit -m "initial commit" --quiet +  remoteLocation="$(pwd)" + +  cd_to_tmp "new" +  git init --quiet +  git remote add origin $remoteLocation +  git fetch origin --quiet +  git checkout foo --quiet +  repoLocation="$(pwd)" + +  remote_branch="$(remote_branch_name)" + +  debug_output="$( +    { +      output="$( +        remote_behind_of_master "$remote_branch"; +      )" +    } 2>&1 +    echo "$output" +  )" + +  assertEquals "0" "$debug_output" +  debug_output="$( +    { +      output="$( +        remote_ahead_of_master "$remote_branch"; +      )" +    } 2>&1 +    echo "$output" +  )" + +  assertEquals "0" "$debug_output" + +  rm_tmp +}  . ./shunit/shunit2 | 
