#!/bin/sh
#
# Copyright (c) 2005 Junio C Hamano
#

test_description='git ls-files -k and -m flags test.

This test prepares the following in the cache:

    path0       - a file
    path1       - a symlink
    path2/file2 - a file in a directory
    path3/file3 - a file in a directory
    pathx/ju    - a file in a directory
    submod1/	- a submodule
    submod2/	- another submodule

and the following on the filesystem:

    path0/file0 - a file in a directory
    path1/file1 - a file in a directory
    path2       - a file
    path3       - a symlink
    path4	- a file
    path5	- a symlink
    path6/file6 - a file in a directory
    pathx/ju/nk - a file in a directory to be killed
    submod1/	- a submodule (modified from the cache)
    submod2/	- a submodule (matches the cache)

git ls-files -k should report that existing filesystem objects
path0/*, path1/*, path2 and path3 to be killed.

Also for modification test, the cache and working tree have:

    path7       - an empty file, modified to a non-empty file.
    path8       - a non-empty file, modified to an empty file.
    path9	- an empty file, cache dirtied.
    path10	- a non-empty file, cache dirtied.

We should report path0, path1, path2/file2, path3/file3, path7 and path8
modified without reporting path9 and path10.  submod1 is also modified.
'
. ./test-lib.sh

test_expect_success 'git update-index --add to add various paths.' '
	date >path0 &&
	test_ln_s_add xyzzy path1 &&
	mkdir path2 path3 pathx &&
	date >path2/file2 &&
	date >path3/file3 &&
	>pathx/ju &&
	: >path7 &&
	date >path8 &&
	: >path9 &&
	date >path10 &&
	git update-index --add -- path0 path?/file? pathx/ju path7 path8 path9 path10 &&
	git init submod1 &&
	git -C submod1 commit --allow-empty -m "empty 1" &&
	git init submod2 &&
	git -C submod2 commit --allow-empty -m "empty 2" &&
	git update-index --add submod[12] &&
	(
		cd submod1 &&
		git commit --allow-empty -m "empty 1 (updated)"
	) &&
	rm -fr path?	# leave path10 alone
'

test_expect_success 'git ls-files -k to show killed files.' '
	date >path2 &&
	if test_have_prereq SYMLINKS
	then
		ln -s frotz path3 &&
		ln -s nitfol path5
	else
		date >path3 &&
		date >path5
	fi &&
	mkdir -p path0 path1 path6 pathx/ju &&
	date >path0/file0 &&
	date >path1/file1 &&
	date >path6/file6 &&
	date >path7 &&
	: >path8 &&
	: >path9 &&
	touch path10 &&
	>pathx/ju/nk &&
	cat >.expected <<-\EOF
	path0/file0
	path1/file1
	path2
	path3
	pathx/ju/nk
	EOF
'

test_expect_success 'git ls-files -k output (w/o icase)' '
	git ls-files -k >.output &&
	test_cmp .expected .output
'

test_expect_success 'git ls-files -k output (w/ icase)' '
	git -c core.ignorecase=true ls-files -k >.output &&
	test_cmp .expected .output
'

test_expect_success 'git ls-files -m to show modified files.' '
	git ls-files -m >.output
'

test_expect_success 'validate git ls-files -m output.' '
	cat >.expected <<-\EOF &&
	path0
	path1
	path2/file2
	path3/file3
	path7
	path8
	pathx/ju
	submod1
	EOF
	test_cmp .expected .output
'

test_done
