3 test_description
='messages from rebase operation'
7 test_expect_success
'setup' '
10 test_commit A fileA &&
11 test_commit B fileB &&
12 test_commit Y fileY &&
14 git checkout -b topic O &&
15 git cherry-pick A B &&
16 test_commit Z fileZ &&
21 Already applied
: 0001 A
22 Already applied
: 0002 B
26 test_expect_success
'rebase -m' '
27 git rebase -m master >report &&
28 sed -n -e "/^Already applied: /p" \
29 -e "/^Committed: /p" report >actual &&
30 test_cmp expect actual
33 test_expect_success
'rebase against master twice' '
34 git rebase master >out &&
35 test_i18ngrep "Current branch topic is up to date" out
38 test_expect_success
'rebase against master twice with --force' '
39 git rebase --force-rebase master >out &&
40 test_i18ngrep "Current branch topic is up to date, rebase forced" out
43 test_expect_success
'rebase against master twice from another branch' '
44 git checkout topic^ &&
45 git rebase master topic >out &&
46 test_i18ngrep "Current branch topic is up to date" out
49 test_expect_success
'rebase fast-forward to master' '
50 git checkout topic^ &&
51 git rebase topic >out &&
52 test_i18ngrep "Fast-forwarded HEAD to topic" out
55 test_expect_success
'rebase --stat' '
56 git reset --hard start &&
57 git rebase --stat master >diffstat.txt &&
58 grep "^ fileX | *1 +$" diffstat.txt
61 test_expect_success
'rebase w/config rebase.stat' '
62 git reset --hard start &&
63 git config rebase.stat true &&
64 git rebase master >diffstat.txt &&
65 grep "^ fileX | *1 +$" diffstat.txt
68 test_expect_success
'rebase -n overrides config rebase.stat config' '
69 git reset --hard start &&
70 git config rebase.stat true &&
71 git rebase -n master >diffstat.txt &&
72 ! grep "^ fileX | *1 +$" diffstat.txt
77 # "Does not point to a valid commit: invalid-ref"
79 # NEEDSWORK: This "grep" is fine in real non-C locales, but
80 # GETTEXT_POISON poisons the refname along with the enclosing
82 test_expect_success
'rebase --onto outputs the invalid ref' '
83 test_must_fail git rebase --onto invalid-ref HEAD HEAD 2>err &&
84 test_i18ngrep "invalid-ref" err
87 test_expect_success
'error out early upon -C<n> or --whitespace=<bad>' '
88 test_must_fail git rebase -Cnot-a-number HEAD 2>err &&
89 test_i18ngrep "numerical value" err &&
90 test_must_fail git rebase --whitespace=bad HEAD 2>err &&
91 test_i18ngrep "Invalid whitespace option" err