Staging
v0.5.2
Revision 6c293d408dbbd0206e80df3ecda7f1620cadaa94 authored by Santi Béjar on 08 March 2008, 11:30:04 UTC, committed by Junio C Hamano on 09 March 2008, 03:43:21 UTC
The "config --global" suggested in the message is a valid one-shot fix,
and hopefully one-shot across machines that NFS mounts the home directories.

This knowledge can hopefully be reused when you are forced to use git on
Windows, but the fix based on GECOS would not be applicable, so
it is not such a useful hint to mention the exact reason why the
name cannot be determined.

Signed-off-by: Santi Béjar <sbejar@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 0bb91d9
Raw File
t4119-apply-config.sh
#!/bin/sh
#
# Copyright (c) 2007 Junio C Hamano
#

test_description='git apply --whitespace=strip and configuration file.

'

. ./test-lib.sh

test_expect_success setup '
	mkdir sub &&
	echo A >sub/file1 &&
	cp sub/file1 saved &&
	git add sub/file1 &&
	echo "B " >sub/file1 &&
	git diff >patch.file
'

# Also handcraft GNU diff output; note this has trailing whitespace.
cat >gpatch.file <<\EOF &&
--- file1	2007-02-21 01:04:24.000000000 -0800
+++ file1+	2007-02-21 01:07:44.000000000 -0800
@@ -1 +1 @@
-A
+B 
EOF

sed -e 's|file1|sub/&|' gpatch.file >gpatch-sub.file &&
sed -e '
	/^--- /s|file1|a/sub/&|
	/^+++ /s|file1|b/sub/&|
' gpatch.file >gpatch-ab-sub.file &&

check_result () {
	if grep " " "$1"
	then
		echo "Eh?"
		false
	elif grep B "$1"
	then
		echo Happy
	else
		echo "Huh?"
		false
	fi
}

test_expect_success 'apply --whitespace=strip' '

	rm -f sub/file1 &&
	cp saved sub/file1 &&
	git update-index --refresh &&

	git apply --whitespace=strip patch.file &&
	check_result sub/file1
'

test_expect_success 'apply --whitespace=strip from config' '

	rm -f sub/file1 &&
	cp saved sub/file1 &&
	git update-index --refresh &&

	git config apply.whitespace strip &&
	git apply patch.file &&
	check_result sub/file1
'

D=`pwd`

test_expect_success 'apply --whitespace=strip in subdir' '

	cd "$D" &&
	git config --unset-all apply.whitespace
	rm -f sub/file1 &&
	cp saved sub/file1 &&
	git update-index --refresh &&

	cd sub &&
	git apply --whitespace=strip ../patch.file &&
	check_result file1
'

test_expect_success 'apply --whitespace=strip from config in subdir' '

	cd "$D" &&
	git config apply.whitespace strip &&
	rm -f sub/file1 &&
	cp saved sub/file1 &&
	git update-index --refresh &&

	cd sub &&
	git apply ../patch.file &&
	check_result file1
'

test_expect_success 'same in subdir but with traditional patch input' '

	cd "$D" &&
	git config apply.whitespace strip &&
	rm -f sub/file1 &&
	cp saved sub/file1 &&
	git update-index --refresh &&

	cd sub &&
	git apply ../gpatch.file &&
	check_result file1
'

test_expect_success 'same but with traditional patch input of depth 1' '

	cd "$D" &&
	git config apply.whitespace strip &&
	rm -f sub/file1 &&
	cp saved sub/file1 &&
	git update-index --refresh &&

	cd sub &&
	git apply ../gpatch-sub.file &&
	check_result file1
'

test_expect_success 'same but with traditional patch input of depth 2' '

	cd "$D" &&
	git config apply.whitespace strip &&
	rm -f sub/file1 &&
	cp saved sub/file1 &&
	git update-index --refresh &&

	cd sub &&
	git apply ../gpatch-ab-sub.file &&
	check_result file1
'

test_expect_success 'same but with traditional patch input of depth 1' '

	cd "$D" &&
	git config apply.whitespace strip &&
	rm -f sub/file1 &&
	cp saved sub/file1 &&
	git update-index --refresh &&

	git apply -p0 gpatch-sub.file &&
	check_result sub/file1
'

test_expect_success 'same but with traditional patch input of depth 2' '

	cd "$D" &&
	git config apply.whitespace strip &&
	rm -f sub/file1 &&
	cp saved sub/file1 &&
	git update-index --refresh &&

	git apply gpatch-ab-sub.file &&
	check_result sub/file1
'

test_done
back to top