 69a8b7c741
			
		
	
	69a8b7c741
	
	
	
		
			
			Previously when merging directly from a local tracking
branch like:
  git merge origin/master
The merge message said:
   Merge commit 'origin/master'
     * commit 'origin/master':
       ...
Instead, let's be more explicit about what we are merging:
   Merge remote branch 'origin/master'
     * origin/master:
       ...
We accomplish this by recognizing remote tracking branches
in git-merge when we build the simulated FETCH_HEAD output
that we feed to fmt-merge-msg.
In addition to a new test in t7608, we have to tweak the
expected output of t3409, which does such a merge.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
	
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| test_description='test auto-generated merge messages'
 | |
| . ./test-lib.sh
 | |
| 
 | |
| check_oneline() {
 | |
| 	echo "$1" | sed "s/Q/'/g" >expect &&
 | |
| 	git log -1 --pretty=tformat:%s >actual &&
 | |
| 	test_cmp expect actual
 | |
| }
 | |
| 
 | |
| test_expect_success 'merge local branch' '
 | |
| 	test_commit master-1 &&
 | |
| 	git checkout -b local-branch &&
 | |
| 	test_commit branch-1 &&
 | |
| 	git checkout master &&
 | |
| 	test_commit master-2 &&
 | |
| 	git merge local-branch &&
 | |
| 	check_oneline "Merge branch Qlocal-branchQ"
 | |
| '
 | |
| 
 | |
| test_expect_success 'merge octopus branches' '
 | |
| 	git checkout -b octopus-a master &&
 | |
| 	test_commit octopus-1 &&
 | |
| 	git checkout -b octopus-b master &&
 | |
| 	test_commit octopus-2 &&
 | |
| 	git checkout master &&
 | |
| 	git merge octopus-a octopus-b &&
 | |
| 	check_oneline "Merge branches Qoctopus-aQ and Qoctopus-bQ"
 | |
| '
 | |
| 
 | |
| test_expect_success 'merge tag' '
 | |
| 	git checkout -b tag-branch master &&
 | |
| 	test_commit tag-1 &&
 | |
| 	git checkout master &&
 | |
| 	test_commit master-3 &&
 | |
| 	git merge tag-1 &&
 | |
| 	check_oneline "Merge commit Qtag-1Q"
 | |
| '
 | |
| 
 | |
| test_expect_success 'ambiguous tag' '
 | |
| 	git checkout -b ambiguous master &&
 | |
| 	test_commit ambiguous &&
 | |
| 	git checkout master &&
 | |
| 	test_commit master-4 &&
 | |
| 	git merge ambiguous &&
 | |
| 	check_oneline "Merge commit QambiguousQ"
 | |
| '
 | |
| 
 | |
| test_expect_success 'remote branch' '
 | |
| 	git checkout -b remote master &&
 | |
| 	test_commit remote-1 &&
 | |
| 	git update-ref refs/remotes/origin/master remote &&
 | |
| 	git checkout master &&
 | |
| 	test_commit master-5 &&
 | |
| 	git merge origin/master &&
 | |
| 	check_oneline "Merge remote branch Qorigin/masterQ"
 | |
| '
 | |
| 
 | |
| test_done
 |