 c9581cc800
			
		
	
	c9581cc800
	
	
	
		
			
			t3406 is supposed to test "messages from rebase operation", so let's move tests in t3400 that fit that description into 3406. Most of the functionality they tested, except for the messages, has now been subsumed by t3420. Signed-off-by: Martin von Zweigbergk <martinvonz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			88 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| test_description='messages from rebase operation'
 | |
| 
 | |
| . ./test-lib.sh
 | |
| 
 | |
| test_expect_success 'setup' '
 | |
| 	test_commit O fileO &&
 | |
| 	test_commit X fileX &&
 | |
| 	test_commit A fileA &&
 | |
| 	test_commit B fileB &&
 | |
| 	test_commit Y fileY &&
 | |
| 
 | |
| 	git checkout -b topic O &&
 | |
| 	git cherry-pick A B &&
 | |
| 	test_commit Z fileZ &&
 | |
| 	git tag start
 | |
| '
 | |
| 
 | |
| cat >expect <<\EOF
 | |
| Already applied: 0001 A
 | |
| Already applied: 0002 B
 | |
| Committed: 0003 Z
 | |
| EOF
 | |
| 
 | |
| test_expect_success 'rebase -m' '
 | |
| 	git rebase -m master >report &&
 | |
| 	sed -n -e "/^Already applied: /p" \
 | |
| 		-e "/^Committed: /p" report >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| test_expect_success 'rebase against master twice' '
 | |
| 	git rebase master >out &&
 | |
| 	test_i18ngrep "Current branch topic is up to date" out
 | |
| '
 | |
| 
 | |
| test_expect_success 'rebase against master twice with --force' '
 | |
| 	git rebase --force-rebase master >out &&
 | |
| 	test_i18ngrep "Current branch topic is up to date, rebase forced" out
 | |
| '
 | |
| 
 | |
| test_expect_success 'rebase against master twice from another branch' '
 | |
| 	git checkout topic^ &&
 | |
| 	git rebase master topic >out &&
 | |
| 	test_i18ngrep "Current branch topic is up to date" out
 | |
| '
 | |
| 
 | |
| test_expect_success 'rebase fast-forward to master' '
 | |
| 	git checkout topic^ &&
 | |
| 	git rebase topic >out &&
 | |
| 	test_i18ngrep "Fast-forwarded HEAD to topic" out
 | |
| '
 | |
| 
 | |
| test_expect_success 'rebase --stat' '
 | |
| 	git reset --hard start &&
 | |
|         git rebase --stat master >diffstat.txt &&
 | |
|         grep "^ fileX |  *1 +$" diffstat.txt
 | |
| '
 | |
| 
 | |
| test_expect_success 'rebase w/config rebase.stat' '
 | |
| 	git reset --hard start &&
 | |
|         git config rebase.stat true &&
 | |
|         git rebase master >diffstat.txt &&
 | |
|         grep "^ fileX |  *1 +$" diffstat.txt
 | |
| '
 | |
| 
 | |
| test_expect_success 'rebase -n overrides config rebase.stat config' '
 | |
| 	git reset --hard start &&
 | |
|         git config rebase.stat true &&
 | |
|         git rebase -n master >diffstat.txt &&
 | |
|         ! grep "^ fileX |  *1 +$" diffstat.txt
 | |
| '
 | |
| 
 | |
| # Output to stderr:
 | |
| #
 | |
| #     "Does not point to a valid commit: invalid-ref"
 | |
| #
 | |
| # NEEDSWORK: This "grep" is fine in real non-C locales, but
 | |
| # GETTEXT_POISON poisons the refname along with the enclosing
 | |
| # error message.
 | |
| test_expect_success 'rebase --onto outputs the invalid ref' '
 | |
| 	test_must_fail git rebase --onto invalid-ref HEAD HEAD 2>err &&
 | |
| 	test_i18ngrep "invalid-ref" err
 | |
| '
 | |
| 
 | |
| test_done
 |