t / t2015-checkout-unborn.shon commit Add global and system-wide gitattributes (6df42ab)
   1#!/bin/sh
   2
   3test_description='checkout from unborn branch protects contents'
   4. ./test-lib.sh
   5
   6test_expect_success 'setup' '
   7        mkdir parent &&
   8        (cd parent &&
   9         git init &&
  10         echo content >file &&
  11         git add file &&
  12         git commit -m base
  13        ) &&
  14        git fetch parent master:origin
  15'
  16
  17test_expect_success 'checkout from unborn preserves untracked files' '
  18        echo precious >expect &&
  19        echo precious >file &&
  20        test_must_fail git checkout -b new origin &&
  21        test_cmp expect file
  22'
  23
  24test_expect_success 'checkout from unborn preserves index contents' '
  25        echo precious >expect &&
  26        echo precious >file &&
  27        git add file &&
  28        test_must_fail git checkout -b new origin &&
  29        test_cmp expect file &&
  30        git show :file >file &&
  31        test_cmp expect file
  32'
  33
  34test_expect_success 'checkout from unborn merges identical index contents' '
  35        echo content >file &&
  36        git add file &&
  37        git checkout -b new origin
  38'
  39
  40test_done