t / t3408-rebase-multi-line.shon commit Merge branch 'cc/test-ref-store-typofix' (e91a1b1)
   1#!/bin/sh
   2
   3test_description='rebasing a commit with multi-line first paragraph.'
   4
   5. ./test-lib.sh
   6
   7test_expect_success setup '
   8
   9        >file &&
  10        git add file &&
  11        test_tick &&
  12        git commit -m initial &&
  13
  14        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.
  18
  19But otherwise with a sane description." &&
  20
  21        git branch side &&
  22
  23        git reset --hard HEAD^ &&
  24        >elif &&
  25        git add elif &&
  26        test_tick &&
  27        git commit -m second &&
  28
  29        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.
  41
  42But otherwise with a sane description." side2 &&
  43        git branch side-merge-original
  44'
  45
  46test_expect_success rebase '
  47
  48        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
  54'
  55test_expect_success REBASE_P rebasep '
  56
  57        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
  63'
  64
  65test_done