diff options
| -rwxr-xr-x | t/t1003-read-tree-prefix.sh | 27 | ||||
| -rwxr-xr-x | t/t1020-subdirectory.sh | 109 | 
2 files changed, 136 insertions, 0 deletions
diff --git a/t/t1003-read-tree-prefix.sh b/t/t1003-read-tree-prefix.sh new file mode 100755 index 0000000000..48ab117d75 --- /dev/null +++ b/t/t1003-read-tree-prefix.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# +# Copyright (c) 2006 Junio C Hamano +# + +test_description='git-read-tree --prefix test. +' + +. ./test-lib.sh + +test_expect_success setup ' +	echo hello >one && +	git-update-index --add one && +	tree=`git-write-tree` && +	echo tree is $tree +' + +echo 'one +two/one' >expect + +test_expect_success 'read-tree --prefix' ' +	git-read-tree --prefix=two/ $tree && +	git-ls-files >actual && +	cmp expect actual +' + +test_done diff --git a/t/t1020-subdirectory.sh b/t/t1020-subdirectory.sh new file mode 100755 index 0000000000..4409b87f8d --- /dev/null +++ b/t/t1020-subdirectory.sh @@ -0,0 +1,109 @@ +#!/bin/sh +# +# Copyright (c) 2006 Junio C Hamano +# + +test_description='Try various core-level commands in subdirectory. +' + +. ./test-lib.sh + +test_expect_success setup ' +	long="a b c d e f g h i j k l m n o p q r s t u v w x y z" && +	for c in $long; do echo $c; done >one && +	mkdir dir && +	for c in x y z $long a b c; do echo $c; done >dir/two && +	cp one original.one && +	cp dir/two original.two +' +HERE=`pwd` +LF=' +' + +test_expect_success 'update-index and ls-files' ' +	cd $HERE && +	git-update-index --add one && +	case "`git-ls-files`" in +	one) echo ok one ;; +	*) echo bad one; exit 1 ;; +	esac && +	cd dir && +	git-update-index --add two && +	case "`git-ls-files`" in +	two) echo ok two ;; +	*) echo bad two; exit 1 ;; +	esac && +	cd .. && +	case "`git-ls-files`" in +	dir/two"$LF"one) echo ok both ;; +	*) echo bad; exit 1 ;; +	esac +' + +test_expect_success 'cat-file' ' +	cd $HERE && +	two=`git-ls-files -s dir/two` && +	two=`expr "$two" : "[0-7]* \\([0-9a-f]*\\)"` && +	echo "$two" && +	git-cat-file -p "$two" >actual && +	cmp dir/two actual && +	cd dir && +	git-cat-file -p "$two" >actual && +	cmp two actual +' +rm -f actual dir/actual + +test_expect_success 'diff-files' ' +	cd $HERE && +	echo a >>one && +	echo d >>dir/two && +	case "`git-diff-files --name-only`" in +	dir/two"$LF"one) echo ok top ;; +	*) echo bad top; exit 1 ;; +	esac && +	# diff should not omit leading paths +	cd dir && +	case "`git-diff-files --name-only`" in +	dir/two"$LF"one) echo ok subdir ;; +	*) echo bad subdir; exit 1 ;; +	esac && +	case "`git-diff-files --name-only .`" in +	dir/two) echo ok subdir limited ;; +	*) echo bad subdir limited; exit 1 ;; +	esac +' + +test_expect_success 'write-tree' ' +	cd $HERE && +	top=`git-write-tree` && +	echo $top && +	cd dir && +	sub=`git-write-tree` && +	echo $sub && +	test "z$top" = "z$sub" +' + +test_expect_success 'checkout-index' ' +	cd $HERE && +	git-checkout-index -f -u one && +	cmp one original.one && +	cd dir && +	git-checkout-index -f -u two && +	cmp two ../original.two +' + +test_expect_success 'read-tree' ' +	cd $HERE && +	rm -f one dir/two && +	tree=`git-write-tree` && +	git-read-tree --reset -u "$tree" && +	cmp one original.one && +	cmp dir/two original.two && +	cd dir && +	rm -f two && +	git-read-tree --reset -u "$tree" && +	cmp two ../original.two && +	cmp ../one ../original.one +' + +test_done  | 
