1#!/bin/sh
   2test_description='test cherry-picking an empty commit'
   4. ./test-lib.sh
   6test_expect_success setup '
   8        echo first > file1 &&
  10        git add file1 &&
  11        test_tick &&
  12        git commit -m "first" &&
  13        git checkout -b empty-branch &&
  15        test_tick &&
  16        git commit --allow-empty -m "empty" &&
  17        echo third >> file1 &&
  19        git add file1 &&
  20        test_tick &&
  21        git commit --allow-empty-message -m ""
  22'
  24test_expect_success 'cherry-pick an empty commit' '
  26        git checkout master && {
  27                git cherry-pick empty-branch^
  28                test "$?" = 1
  29        }
  30'
  31test_expect_success 'index lockfile was removed' '
  33        test ! -f .git/index.lock
  35'
  37test_expect_success 'cherry-pick a commit with an empty message' '
  39        git checkout master && {
  40                git cherry-pick empty-branch
  41                test "$?" = 1
  42        }
  43'
  44test_expect_success 'index lockfile was removed' '
  46        test ! -f .git/index.lock
  48'
  50test_done