Revision cc601901a7a9619b706cb10a6fdc1e6246b6da53 authored by Junio C Hamano on 06 May 2016, 21:53:24 UTC, committed by Junio C Hamano on 06 May 2016, 21:53:25 UTC
"git submodule" reports the paths of submodules the command
recurses into, but this was incorrect when the command was not run
from the root level of the superproject.

* sb/submodule-path-misc-bugs:
  t7407: make expectation as clear as possible
  submodule update: test recursive path reporting from subdirectory
  submodule update: align reporting path for custom command execution
  submodule status: correct path handling in recursive submodules
  submodule update --init: correct path handling in recursive submodules
  submodule foreach: correct path display in recursive submodules
2 parent s a0c9cf5 + 2ab5660
Raw File
t2204-add-ignored.sh
#!/bin/sh

test_description='giving ignored paths to git add'

. ./test-lib.sh

test_expect_success setup '
	mkdir sub dir dir/sub &&
	echo sub >.gitignore &&
	echo ign >>.gitignore &&
	for p in . sub dir dir/sub
	do
		>"$p/ign" &&
		>"$p/file" || exit 1
	done
'

for i in file dir/file dir 'd*'
do
	test_expect_success "no complaints for unignored $i" '
		rm -f .git/index &&
		git add "$i" &&
		git ls-files "$i" >out &&
		test -s out
	'
done

for i in ign dir/ign dir/sub dir/sub/*ign sub/file sub sub/*
do
	test_expect_success "complaints for ignored $i" '
		rm -f .git/index &&
		test_must_fail git add "$i" 2>err &&
		git ls-files "$i" >out &&
		! test -s out
	'

	test_expect_success "complaints for ignored $i output" '
		test_i18ngrep -e "Use -f if" err
	'

	test_expect_success "complaints for ignored $i with unignored file" '
		rm -f .git/index &&
		test_must_fail git add "$i" file 2>err &&
		git ls-files "$i" >out &&
		! test -s out
	'
	test_expect_success "complaints for ignored $i with unignored file output" '
		test_i18ngrep -e "Use -f if" err
	'
done

for i in sub sub/*
do
	test_expect_success "complaints for ignored $i in dir" '
		rm -f .git/index &&
		(
			cd dir &&
			test_must_fail git add "$i" 2>err &&
			git ls-files "$i" >out &&
			! test -s out
		)
	'

	test_expect_success "complaints for ignored $i in dir output" '
		(
			cd dir &&
			test_i18ngrep -e "Use -f if" err
		)
	'
done

for i in ign file
do
	test_expect_success "complaints for ignored $i in sub" '
		rm -f .git/index &&
		(
			cd sub &&
			test_must_fail git add "$i" 2>err &&
			git ls-files "$i" >out &&
			! test -s out
		)
	'

	test_expect_success "complaints for ignored $i in sub output" '
		(
			cd sub &&
			test_i18ngrep -e "Use -f if" err
		)
	'
done

test_done
back to top