diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-01-28 15:00:27 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-01-28 15:00:27 -0800 |
commit | 8712b3cdb0495f5a56b91cd67e2697412447a886 (patch) | |
tree | 98dafb9b4f38617d73ef59c9085e01ee727af729 /t/t1505-rev-parse-last.sh | |
parent | cd956c73a2cce6613a6cd19df6ccb9ff1b08f79a (diff) | |
parent | 73ff1a131b340633b2ec2a0e68490de721448f56 (diff) | |
download | git-8712b3cdb0495f5a56b91cd67e2697412447a886.tar.gz |
Merge branch 'tr/previous-branch'
* tr/previous-branch:
t1505: remove debugging cruft
Simplify parsing branch switching events in reflog
Introduce for_each_recent_reflog_ent().
interpret_nth_last_branch(): plug small memleak
Fix reflog parsing for a malformed branch switching entry
Fix parsing of @{-1}@{1}
interpret_nth_last_branch(): avoid traversing the reflog twice
checkout: implement "-" abbreviation, add docs and tests
sha1_name: support @{-N} syntax in get_sha1()
sha1_name: tweak @{-N} lookup
checkout: implement "@{-N}" shortcut name for N-th last branch
Conflicts:
sha1_name.c
Diffstat (limited to 't/t1505-rev-parse-last.sh')
-rwxr-xr-x | t/t1505-rev-parse-last.sh | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/t/t1505-rev-parse-last.sh b/t/t1505-rev-parse-last.sh new file mode 100755 index 0000000000..d709ecf8df --- /dev/null +++ b/t/t1505-rev-parse-last.sh @@ -0,0 +1,69 @@ +#!/bin/sh + +test_description='test @{-N} syntax' + +. ./test-lib.sh + + +make_commit () { + echo "$1" > "$1" && + git add "$1" && + git commit -m "$1" +} + + +test_expect_success 'setup' ' + + make_commit 1 && + git branch side && + make_commit 2 && + make_commit 3 && + git checkout side && + make_commit 4 && + git merge master && + git checkout master + +' + +# 1 -- 2 -- 3 master +# \ \ +# \ \ +# --- 4 --- 5 side +# +# and 'side' should be the last branch + +test_rev_equivalent () { + + git rev-parse "$1" > expect && + git rev-parse "$2" > output && + test_cmp expect output + +} + +test_expect_success '@{-1} works' ' + test_rev_equivalent side @{-1} +' + +test_expect_success '@{-1}~2 works' ' + test_rev_equivalent side~2 @{-1}~2 +' + +test_expect_success '@{-1}^2 works' ' + test_rev_equivalent side^2 @{-1}^2 +' + +test_expect_success '@{-1}@{1} works' ' + test_rev_equivalent side@{1} @{-1}@{1} +' + +test_expect_success '@{-2} works' ' + test_rev_equivalent master @{-2} +' + +test_expect_success '@{-3} fails' ' + test_must_fail git rev-parse @{-3} +' + +test_done + + |