 c7e69168cf
			
		
	
	c7e69168cf
	
	
	
		
			
			Test that the rebase command updates the work tree as expected for changes which don't result in conflicts. To make that work add two helper functions that add a commit only touching files and then revert it. This allows to rebase the target commit over these two and to compare the result. Set KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR to document that "replace directory with submodule" fails for an interactive rebase because a directory "sub1" already exists. Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| test_description='rebase can handle submodules'
 | |
| 
 | |
| . ./test-lib.sh
 | |
| . "$TEST_DIRECTORY"/lib-submodule-update.sh
 | |
| . "$TEST_DIRECTORY"/lib-rebase.sh
 | |
| 
 | |
| git_rebase () {
 | |
| 	git status -su >expect &&
 | |
| 	ls -1pR * >>expect &&
 | |
| 	git checkout -b ours HEAD &&
 | |
| 	echo x >>file1 &&
 | |
| 	git add file1 &&
 | |
| 	git commit -m add_x &&
 | |
| 	git revert HEAD &&
 | |
| 	git status -su >actual &&
 | |
| 	ls -1pR * >>actual &&
 | |
| 	test_cmp expect actual &&
 | |
| 	git rebase "$1"
 | |
| }
 | |
| 
 | |
| test_submodule_switch "git_rebase"
 | |
| 
 | |
| git_rebase_interactive () {
 | |
| 	git status -su >expect &&
 | |
| 	ls -1pR * >>expect &&
 | |
| 	git checkout -b ours HEAD &&
 | |
| 	echo x >>file1 &&
 | |
| 	git add file1 &&
 | |
| 	git commit -m add_x &&
 | |
| 	git revert HEAD &&
 | |
| 	git status -su >actual &&
 | |
| 	ls -1pR * >>actual &&
 | |
| 	test_cmp expect actual &&
 | |
| 	set_fake_editor &&
 | |
| 	echo "fake-editor.sh" >.git/info/exclude &&
 | |
| 	git rebase -i "$1"
 | |
| }
 | |
| 
 | |
| KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1
 | |
| # The real reason "replace directory with submodule" fails is because a
 | |
| # directory "sub1" exists, but we reuse the suppression added for merge here
 | |
| test_submodule_switch "git_rebase_interactive"
 | |
| 
 | |
| test_done
 |