 0c44c94309
			
		
	
	0c44c94309
	
	
	
		
			
			We cannot represent the 3-way conflicted state in the work tree for these entries, but it is normal not to have commit objects for them in our repository. Just update the index and the life will be good. Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			75 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| test_description='merging with submodules'
 | |
| 
 | |
| . ./test-lib.sh
 | |
| 
 | |
| #
 | |
| # history
 | |
| #
 | |
| #        a --- c
 | |
| #      /   \ /
 | |
| # root      X
 | |
| #      \   / \
 | |
| #        b --- d
 | |
| #
 | |
| 
 | |
| test_expect_success setup '
 | |
| 
 | |
| 	mkdir sub &&
 | |
| 	(cd sub &&
 | |
| 	 git init &&
 | |
| 	 echo original > file &&
 | |
| 	 git add file &&
 | |
| 	 test_tick &&
 | |
| 	 git commit -m sub-root) &&
 | |
| 	git add sub &&
 | |
| 	test_tick &&
 | |
| 	git commit -m root &&
 | |
| 
 | |
| 	git checkout -b a master &&
 | |
| 	(cd sub &&
 | |
| 	 echo A > file &&
 | |
| 	 git add file &&
 | |
| 	 test_tick &&
 | |
| 	 git commit -m sub-a) &&
 | |
| 	git add sub &&
 | |
| 	test_tick &&
 | |
| 	git commit -m a &&
 | |
| 
 | |
| 	git checkout -b b master &&
 | |
| 	(cd sub &&
 | |
| 	 echo B > file &&
 | |
| 	 git add file &&
 | |
| 	 test_tick &&
 | |
| 	 git commit -m sub-b) &&
 | |
| 	git add sub &&
 | |
| 	test_tick &&
 | |
| 	git commit -m b
 | |
| 
 | |
| 	git checkout -b c a &&
 | |
| 	git merge -s ours b &&
 | |
| 
 | |
| 	git checkout -b d b &&
 | |
| 	git merge -s ours a
 | |
| '
 | |
| 
 | |
| test_expect_success 'merging with modify/modify conflict' '
 | |
| 
 | |
| 	git checkout -b test1 a &&
 | |
| 	test_must_fail git merge b &&
 | |
| 	test -f .git/MERGE_MSG &&
 | |
| 	git diff &&
 | |
| 	test -n "$(git ls-files -u)"
 | |
| '
 | |
| 
 | |
| test_expect_success 'merging with a modify/modify conflict between merge bases' '
 | |
| 
 | |
| 	git reset --hard HEAD &&
 | |
| 	git checkout -b test2 c &&
 | |
| 	git merge d
 | |
| 
 | |
| '
 | |
| 
 | |
| test_done
 |