Merge branch 'bg/rebase-off-of-previous-branch'
authorJunio C Hamano <gitster@pobox.com>
Fri, 28 Mar 2014 20:51:20 +0000 (13:51 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 28 Mar 2014 20:51:20 +0000 (13:51 -0700)
* bg/rebase-off-of-previous-branch:
rebase: allow "-" short-hand for the previous branch

git-rebase.sh
t/t3400-rebase.sh
index 5f6732bf3dce78966da1cbb83d4094d584f92598..2c75e9fa0f8d4c10e6caa2b3f4d018a11bbf0f8f 100755 (executable)
@@ -453,6 +453,10 @@ then
                test "$fork_point" = auto && fork_point=t
                ;;
        *)      upstream_name="$1"
+               if test "$upstream_name" = "-"
+               then
+                       upstream_name="@{-1}"
+               fi
                shift
                ;;
        esac
index 6d94b1fcd94e9f724c93a389c50066c92c46e1b9..80e0a951ea3b699dc57530c1749a2e727ec6779d 100755 (executable)
@@ -88,6 +88,23 @@ test_expect_success 'rebase from ambiguous branch name' '
        git rebase master
 '
 
+test_expect_success 'rebase off of the previous branch using "-"' '
+       git checkout master &&
+       git checkout HEAD^ &&
+       git rebase @{-1} >expect.messages &&
+       git merge-base master HEAD >expect.forkpoint &&
+
+       git checkout master &&
+       git checkout HEAD^ &&
+       git rebase - >actual.messages &&
+       git merge-base master HEAD >actual.forkpoint &&
+
+       test_cmp expect.forkpoint actual.forkpoint &&
+       # the next one is dubious---we may want to say "-",
+       # instead of @{-1}, in the message
+       test_i18ncmp expect.messages actual.messages
+'
+
 test_expect_success 'rebase a single mode change' '
        git checkout master &&
        git branch -D topic &&