100 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
| #!/bin/sh
 | |
| 
 | |
| test_description='Merge-recursive merging renames'
 | |
| . ./test-lib.sh
 | |
| 
 | |
| test_expect_success setup \
 | |
| '
 | |
| cat >A <<\EOF &&
 | |
| a aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 | |
| b bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 | |
| c cccccccccccccccccccccccccccccccccccccccccccccccc
 | |
| d dddddddddddddddddddddddddddddddddddddddddddddddd
 | |
| e eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
 | |
| f ffffffffffffffffffffffffffffffffffffffffffffffff
 | |
| g gggggggggggggggggggggggggggggggggggggggggggggggg
 | |
| h hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | |
| i iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | |
| j jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
 | |
| k kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
 | |
| l llllllllllllllllllllllllllllllllllllllllllllllll
 | |
| m mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
 | |
| n nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
 | |
| o oooooooooooooooooooooooooooooooooooooooooooooooo
 | |
| EOF
 | |
| 
 | |
| cat >M <<\EOF &&
 | |
| A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 | |
| B BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
 | |
| C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 | |
| D DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 | |
| E EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
 | |
| F FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
 | |
| G GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
 | |
| H HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
 | |
| I IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
 | |
| J JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
 | |
| K KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
 | |
| L LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
 | |
| M MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
 | |
| N NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
 | |
| O OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
 | |
| EOF
 | |
| 
 | |
| git add A M &&
 | |
| git commit -m "initial has A and M" &&
 | |
| git branch white &&
 | |
| git branch red &&
 | |
| git branch blue &&
 | |
| 
 | |
| git checkout white &&
 | |
| sed -e "/^g /s/.*/g : white changes a line/" <A >B &&
 | |
| sed -e "/^G /s/.*/G : colored branch changes a line/" <M >N &&
 | |
| rm -f A M &&
 | |
| git update-index --add --remove A B M N &&
 | |
| git commit -m "white renames A->B, M->N" &&
 | |
| 
 | |
| git checkout red &&
 | |
| echo created by red >R &&
 | |
| git update-index --add R &&
 | |
| git commit -m "red creates R" &&
 | |
| 
 | |
| git checkout blue &&
 | |
| sed -e "/^o /s/.*/g : blue changes a line/" <A >B &&
 | |
| rm -f A &&
 | |
| mv B A &&
 | |
| git update-index A &&
 | |
| git commit -m "blue modify A" &&
 | |
| 
 | |
| git checkout master'
 | |
| 
 | |
| # This test broke in 65ac6e9c3f47807cb603af07a6a9e1a43bc119ae
 | |
| test_expect_success 'merge white into red (A->B,M->N)' \
 | |
| '
 | |
| 	git checkout -b red-white red &&
 | |
| 	git merge white &&
 | |
| 	git write-tree &&
 | |
| 	test_path_is_file B &&
 | |
| 	test_path_is_file N &&
 | |
| 	test_path_is_file R &&
 | |
| 	test_path_is_missing A &&
 | |
| 	test_path_is_missing M
 | |
| '
 | |
| 
 | |
| # This test broke in 8371234ecaaf6e14fe3f2082a855eff1bbd79ae9
 | |
| test_expect_success 'merge blue into white (A->B, mod A, A untracked)' \
 | |
| '
 | |
| 	git checkout -b white-blue white &&
 | |
| 	echo dirty >A &&
 | |
| 	git merge blue &&
 | |
| 	git write-tree &&
 | |
| 	test_path_is_file A &&
 | |
| 	echo dirty >expect &&
 | |
| 	test_cmp expect A &&
 | |
| 	test_path_is_file B &&
 | |
| 	test_path_is_file N &&
 | |
| 	test_path_is_missing M
 | |
| '
 | |
| 
 | |
| test_done
 |