61 lines
		
	
	
	
		
			886 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			886 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/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_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 master @{-2}
 | |
| '
 | |
| 
 | |
| test_expect_success '@{-3} fails' '
 | |
| 	test_must_fail git rev-parse @{-3}
 | |
| '
 | |
| 
 | |
| test_done
 | |
| 
 | |
| 
 |