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 |