diff options
author | Junio C Hamano <gitster@pobox.com> | 2013-06-24 13:48:40 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-06-24 13:48:40 -0700 |
commit | bc918acf708a839bbc350e014d599fdd458319ca (patch) | |
tree | 3b93414f5146cf1e76ecfd005162feedc19f30e5 /t | |
parent | 8d8975aca7c2b031a2386cd8f266109a8c6e1973 (diff) | |
parent | 2e6e276decde2a9f04fc29bce734a49d3ba8f484 (diff) | |
download | git-bc918acf708a839bbc350e014d599fdd458319ca.tar.gz |
Merge branch 'rr/rebase-sha1-by-string-query'
Allow various commit objects to be given to "git rebase" by ':/look
for this string' syntax, e.g. "git rebase --onto ':/there'".
* rr/rebase-sha1-by-string-query:
rebase: use peel_committish() where appropriate
sh-setup: add new peel_committish() helper
t/rebase: add failing tests for a peculiar revision
Diffstat (limited to 't')
-rwxr-xr-x | t/t3400-rebase.sh | 11 | ||||
-rwxr-xr-x | t/t3404-rebase-interactive.sh | 11 |
2 files changed, 22 insertions, 0 deletions
diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh index ff86725b7b..ebf93b0695 100755 --- a/t/t3400-rebase.sh +++ b/t/t3400-rebase.sh @@ -59,6 +59,17 @@ test_expect_success 'rebase against master' ' git rebase master ' +test_expect_success 'rebase, with <onto> and <upstream> specified as :/quuxery' ' + test_when_finished "git branch -D torebase" && + git checkout -b torebase my-topic-branch^ && + upstream=$(git rev-parse ":/Add B") && + onto=$(git rev-parse ":/Add A") && + git rebase --onto $onto $upstream && + git reset --hard my-topic-branch^ && + git rebase --onto ":/Add A" ":/Add B" && + git checkout my-topic-branch +' + test_expect_success 'the rebase operation should not have destroyed author information' ' ! (git log | grep "Author:" | grep "<>") ' diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index 0d3c57340e..d6b4143773 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -939,4 +939,15 @@ test_expect_success 'rebase -i respects core.commentchar' ' test B = $(git cat-file commit HEAD^ | sed -ne \$p) ' +test_expect_success 'rebase -i, with <onto> and <upstream> specified as :/quuxery' ' + test_when_finished "git branch -D torebase" && + git checkout -b torebase branch1 && + upstream=$(git rev-parse ":/J") && + onto=$(git rev-parse ":/A") && + git rebase --onto $onto $upstream && + git reset --hard branch1 && + git rebase --onto ":/A" ":/J" && + git checkout branch1 +' + test_done |