diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 14:47:53 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 14:47:53 +0000 |
commit | c8bae7493d2f2910b57f13ded012e86bdcfb0532 (patch) | |
tree | 24e09d9f84dec336720cf393e156089ca2835791 /t/t1505-rev-parse-last.sh | |
parent | Initial commit. (diff) | |
download | git-upstream/1%2.39.2.tar.xz git-upstream/1%2.39.2.zip |
Adding upstream version 1:2.39.2.upstream/1%2.39.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 't/t1505-rev-parse-last.sh')
-rwxr-xr-x | t/t1505-rev-parse-last.sh | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/t/t1505-rev-parse-last.sh b/t/t1505-rev-parse-last.sh new file mode 100755 index 0000000..4a5758f --- /dev/null +++ b/t/t1505-rev-parse-last.sh @@ -0,0 +1,65 @@ +#!/bin/sh + +test_description='test @{-N} syntax' + +GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main +export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME + +TEST_PASSES_SANITIZE_LEAK=true +. ./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 main && + git checkout main + +' + +# 1 -- 2 -- 3 main +# \ \ +# \ \ +# --- 4 --- 5 side +# +# and 'side' should be the last branch + +test_expect_success '@{-1} works' ' + test_cmp_rev side @{-1} +' + +test_expect_success '@{-1}~2 works' ' + test_cmp_rev side~2 @{-1}~2 +' + +test_expect_success '@{-1}^2 works' ' + test_cmp_rev side^2 @{-1}^2 +' + +test_expect_success '@{-1}@{1} works' ' + test_cmp_rev side@{1} @{-1}@{1} +' + +test_expect_success '@{-2} works' ' + test_cmp_rev main @{-2} +' + +test_expect_success '@{-3} fails' ' + test_must_fail git rev-parse @{-3} +' + +test_done + + |