t / t3000-ls-files-others.shon commit Teach "apply --index-info" to handle rename patches (18cdf80)
   1#!/bin/sh
   2#
   3# Copyright (c) 2005 Junio C Hamano
   4#
   5
   6test_description='git ls-files test (--others should pick up symlinks).
   7
   8This test runs git ls-files --others with the following on the
   9filesystem.
  10
  11    path0       - a file
  12    path1       - a symlink
  13    path2/file2 - a file in a directory
  14    path3-junk  - a file to confuse things
  15    path3/file3 - a file in a directory
  16    path4       - an empty directory
  17'
  18. ./test-lib.sh
  19
  20test_expect_success 'setup ' '
  21        date >path0 &&
  22        if test_have_prereq SYMLINKS
  23        then
  24                ln -s xyzzy path1
  25        else
  26                date >path1
  27        fi &&
  28        mkdir path2 path3 path4 &&
  29        date >path2/file2 &&
  30        date >path2-junk &&
  31        date >path3/file3 &&
  32        date >path3-junk &&
  33        git update-index --add path3-junk path3/file3
  34'
  35
  36test_expect_success 'setup: expected output' '
  37        cat >expected1 <<-\EOF &&
  38        expected1
  39        expected2
  40        expected3
  41        output
  42        path0
  43        path1
  44        path2-junk
  45        path2/file2
  46        EOF
  47
  48        sed -e "s|path2/file2|path2/|" <expected1 >expected2 &&
  49        cp expected2 expected3 &&
  50        echo path4/ >>expected2
  51'
  52
  53test_expect_success 'ls-files --others' '
  54        git ls-files --others >output &&
  55        test_cmp expected1 output
  56'
  57
  58test_expect_success 'ls-files --others --directory' '
  59        git ls-files --others --directory >output &&
  60        test_cmp expected2 output
  61'
  62
  63test_expect_success '--no-empty-directory hides empty directory' '
  64        git ls-files --others --directory --no-empty-directory >output &&
  65        test_cmp expected3 output
  66'
  67
  68test_done