t / t2013-checkout-submodule.shon commit Update jk/maint-strbuf-missing-init to builtin/ rename (03f94ae)
   1#!/bin/sh
   2
   3test_description='checkout can handle submodules'
   4
   5. ./test-lib.sh
   6
   7test_expect_success 'setup' '
   8        mkdir submodule &&
   9        (cd submodule &&
  10         git init &&
  11         test_commit first) &&
  12        git add submodule &&
  13        test_tick &&
  14        git commit -m superproject &&
  15        (cd submodule &&
  16         test_commit second) &&
  17        git add submodule &&
  18        test_tick &&
  19        git commit -m updated.superproject
  20'
  21
  22test_expect_success '"reset <submodule>" updates the index' '
  23        git update-index --refresh &&
  24        git diff-files --quiet &&
  25        git diff-index --quiet --cached HEAD &&
  26        test_must_fail git reset HEAD^ submodule &&
  27        test_must_fail git diff-files --quiet &&
  28        git reset submodule &&
  29        git diff-files --quiet
  30'
  31
  32test_expect_success '"checkout <submodule>" updates the index only' '
  33        git update-index --refresh &&
  34        git diff-files --quiet &&
  35        git diff-index --quiet --cached HEAD &&
  36        git checkout HEAD^ submodule &&
  37        test_must_fail git diff-files --quiet &&
  38        git checkout HEAD submodule &&
  39        git diff-files --quiet
  40'
  41
  42test_done