1#!/bin/sh
   2test_description='rebasing a commit with multi-line first paragraph.'
   4. ./test-lib.sh
   6test_expect_success setup '
   8        >file &&
  10        git add file &&
  11        test_tick &&
  12        git commit -m initial &&
  13        echo hello >file &&
  15        test_tick &&
  16        git commit -a -m "A sample commit log message that has a long
  17summary that spills over multiple lines.
  18But otherwise with a sane description." &&
  20        git branch side &&
  22        git reset --hard HEAD^ &&
  24        >elif &&
  25        git add elif &&
  26        test_tick &&
  27        git commit -m second &&
  28        git checkout -b side2 &&
  30        >afile &&
  31        git add afile &&
  32        test_tick &&
  33        git commit -m third &&
  34        echo hello >afile &&
  35        test_tick &&
  36        git commit -a -m fourth &&
  37        git checkout -b side-merge &&
  38        git reset --hard HEAD^^ &&
  39        git merge --no-ff -m "A merge commit log message that has a long
  40summary that spills over multiple lines.
  41But otherwise with a sane description." side2 &&
  43        git branch side-merge-original
  44'
  45test_expect_success rebase '
  47        git checkout side &&
  49        git rebase master &&
  50        git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
  51        git cat-file commit side@{1} | sed -e "1,/^\$/d" >expect &&
  52        test_cmp expect actual
  53'
  55test_expect_success rebasep '
  56        git checkout side-merge &&
  58        git rebase -p side &&
  59        git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
  60        git cat-file commit side-merge-original | sed -e "1,/^\$/d" >expect &&
  61        test_cmp expect actual
  62'
  64test_done