1#!/bin/sh
   2test_description='git rebase interactive with rewording'
   4. ./test-lib.sh
   6. "$TEST_DIRECTORY"/lib-rebase.sh
   8test_expect_success 'setup' '
  10        test_commit master file-1 test &&
  11        git checkout -b stuff &&
  13        test_commit feature_a file-2 aaa &&
  15        test_commit feature_b file-2 ddd
  16'
  17test_expect_success 'reword without issues functions as intended' '
  19        test_when_finished "reset_rebase" &&
  20        git checkout stuff^0 &&
  22        set_fake_editor &&
  24        FAKE_LINES="pick 1 reword 2" FAKE_COMMIT_MESSAGE="feature_b_reworded" \
  25                git rebase -i -v master &&
  26        test "$(git log -1 --format=%B)" = "feature_b_reworded" &&
  28        test $(git rev-list --count HEAD) = 3
  29'
  30test_expect_success 'reword after a conflict preserves commit' '
  32        test_when_finished "reset_rebase" &&
  33        git checkout stuff^0 &&
  35        set_fake_editor &&
  37        test_must_fail env FAKE_LINES="reword 2" \
  38                git rebase -i -v master &&
  39        git checkout --theirs file-2 &&
  41        git add file-2 &&
  42        FAKE_COMMIT_MESSAGE="feature_b_reworded" git rebase --continue &&
  43        test "$(git log -1 --format=%B)" = "feature_b_reworded" &&
  45        test $(git rev-list --count HEAD) = 2
  46'
  47test_done