t6038 (merge.renormalize): style nitpicks
Some tweaks to simplify adding and running tests. - Use test_tick for predictable, sort of realistic commit dates; - Use test_cmp as "test_cmp expected actual" --- some crazy content that was not expected should cause the test to fail; - Remove and re-add all files at the start of each test so the worktree is easier to think about; - Avoid using cat where not necessary for clarity. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									43dd233285
								
							
						
					
					
						commit
						18acb30ee4
					
				| 
						 | 
				
			
			@ -1,58 +1,94 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
test_description='CRLF merge conflict across text=auto change'
 | 
			
		||||
test_description='CRLF merge conflict across text=auto change
 | 
			
		||||
 | 
			
		||||
* [master] remove .gitattributes
 | 
			
		||||
 ! [side] add line from b
 | 
			
		||||
--
 | 
			
		||||
 + [side] add line from b
 | 
			
		||||
*  [master] remove .gitattributes
 | 
			
		||||
*  [master^] add line from a
 | 
			
		||||
*  [master~2] normalize file
 | 
			
		||||
*+ [side^] Initial
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
. ./test-lib.sh
 | 
			
		||||
 | 
			
		||||
test_expect_success setup '
 | 
			
		||||
	git config merge.renormalize true &&
 | 
			
		||||
	git config core.autocrlf false &&
 | 
			
		||||
 | 
			
		||||
	echo first line | append_cr >file &&
 | 
			
		||||
	echo first line >control_file &&
 | 
			
		||||
	echo only line >inert_file &&
 | 
			
		||||
 | 
			
		||||
	git add file control_file inert_file &&
 | 
			
		||||
	test_tick &&
 | 
			
		||||
	git commit -m "Initial" &&
 | 
			
		||||
	git tag initial &&
 | 
			
		||||
	git branch side &&
 | 
			
		||||
 | 
			
		||||
	echo "* text=auto" >.gitattributes &&
 | 
			
		||||
	touch file &&
 | 
			
		||||
	git add .gitattributes file &&
 | 
			
		||||
	test_tick &&
 | 
			
		||||
	git commit -m "normalize file" &&
 | 
			
		||||
 | 
			
		||||
	echo same line | append_cr >>file &&
 | 
			
		||||
	echo same line >>control_file &&
 | 
			
		||||
	git add file control_file &&
 | 
			
		||||
	test_tick &&
 | 
			
		||||
	git commit -m "add line from a" &&
 | 
			
		||||
	git tag a &&
 | 
			
		||||
 | 
			
		||||
	git rm .gitattributes &&
 | 
			
		||||
	rm file &&
 | 
			
		||||
	git checkout file &&
 | 
			
		||||
	test_tick &&
 | 
			
		||||
	git commit -m "remove .gitattributes" &&
 | 
			
		||||
	git tag c &&
 | 
			
		||||
 | 
			
		||||
	git checkout side &&
 | 
			
		||||
	echo same line | append_cr >>file &&
 | 
			
		||||
	echo same line >>control_file &&
 | 
			
		||||
	git add file control_file &&
 | 
			
		||||
	test_tick &&
 | 
			
		||||
	git commit -m "add line from b" &&
 | 
			
		||||
	git tag b &&
 | 
			
		||||
 | 
			
		||||
	git checkout master
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
test_expect_success 'Check merging after setting text=auto' '
 | 
			
		||||
test_expect_success 'Merge after setting text=auto' '
 | 
			
		||||
	cat <<-\EOF >expected &&
 | 
			
		||||
	first line
 | 
			
		||||
	same line
 | 
			
		||||
	EOF
 | 
			
		||||
 | 
			
		||||
	git rm -fr . &&
 | 
			
		||||
	rm -f .gitattributes &&
 | 
			
		||||
	git reset --hard a &&
 | 
			
		||||
	git merge b &&
 | 
			
		||||
	cat file | remove_cr >file.temp &&
 | 
			
		||||
	test_cmp file file.temp
 | 
			
		||||
	test_cmp expected file
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
test_expect_success 'Check merging addition of text=auto' '
 | 
			
		||||
test_expect_success 'Merge addition of text=auto' '
 | 
			
		||||
	cat <<-\EOF >expected &&
 | 
			
		||||
	first line
 | 
			
		||||
	same line
 | 
			
		||||
	EOF
 | 
			
		||||
 | 
			
		||||
	git rm -fr . &&
 | 
			
		||||
	rm -f .gitattributes &&
 | 
			
		||||
	git reset --hard b &&
 | 
			
		||||
	git merge a &&
 | 
			
		||||
	cat file | remove_cr >file.temp &&
 | 
			
		||||
	test_cmp file file.temp
 | 
			
		||||
	test_cmp expected file
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
test_expect_success 'Test delete/normalize conflict' '
 | 
			
		||||
	git checkout side &&
 | 
			
		||||
	git checkout -f side &&
 | 
			
		||||
	git rm -fr . &&
 | 
			
		||||
	rm -f .gitattributes &&
 | 
			
		||||
	git reset --hard initial &&
 | 
			
		||||
	git rm file &&
 | 
			
		||||
	git commit -m "remove file" &&
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue