diff options
Diffstat (limited to '')
| -rwxr-xr-x | git-base.sh | 2 | ||||
| -rwxr-xr-x | test-commits.sh | 68 | 
2 files changed, 69 insertions, 1 deletions
diff --git a/git-base.sh b/git-base.sh index 950422d..eb91fc8 100755 --- a/git-base.sh +++ b/git-base.sh @@ -122,7 +122,7 @@ readable_branch_name() {  }  remote_branch_name() { -  local localRef="$(branch_name)" +  local localRef="\/$(branch_name)$"    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 diff --git a/test-commits.sh b/test-commits.sh index 340365d..01b07d3 100755 --- a/test-commits.sh +++ b/test-commits.sh @@ -189,6 +189,74 @@ test_remote_behind_master() {    rm_tmp  } +test_remote_branch_starts_with_local_branch_name() { +  cd_to_tmp "remote" +  git init --bare --quiet +  remoteLocation="$(pwd)" + +  cd_to_tmp "local" +  git init --quiet +  git remote add origin $remoteLocation +  git fetch origin --quiet + +  git checkout -b master --quiet +  touch README +  git add README +  git commit -m "initial commit" --quiet + +  git push --quiet -u origin master >/dev/null +  git reset --quiet --hard HEAD + +  git checkout -b foobar --quiet +  touch foobarfile +  git add foobarfile +  git commit -m "added foobar" --quiet +  git push --quiet -u origin foobar >/dev/null + +  git checkout -b foo --quiet + +  assertEquals "0" "$(remote_ahead_of_master)" +  assertEquals "0" "$(remote_behind_of_master)" +  assertEquals "0" "$(commits_behind_of_remote)" +  assertEquals "0" "$(commits_ahead_of_remote)" + +  rm_tmp +} + +test_remote_branch_ends_with_local_branch_name() { +  cd_to_tmp "remote" +  git init --bare --quiet +  remoteLocation="$(pwd)" + +  cd_to_tmp "local" +  git init --quiet +  git remote add origin $remoteLocation +  git fetch origin --quiet + +  git checkout -b master --quiet +  touch README +  git add README +  git commit -m "initial commit" --quiet + +  git push --quiet -u origin master >/dev/null +  git reset --quiet --hard HEAD + +  git checkout -b foobar --quiet +  touch foobarfile +  git add foobarfile +  git commit -m "added foobar" --quiet +  git push --quiet -u origin foobar >/dev/null + +  git checkout -b bar --quiet + +  assertEquals "0" "$(remote_ahead_of_master)" +  assertEquals "0" "$(remote_behind_of_master)" +  assertEquals "0" "$(commits_behind_of_remote)" +  assertEquals "0" "$(commits_ahead_of_remote)" + +  rm_tmp +} +  test_dont_call_remote_branch_name() {    cd_to_tmp "remote"    git init --bare --quiet  | 
