From f1265cc9ff977b497d805245dbd2454e46ef2710 Mon Sep 17 00:00:00 2001 From: Charles Bailey Date: Thu, 18 Sep 2008 21:01:13 +0100 Subject: Add new test to demonstrate git archive core.autocrlf inconsistency Signed-off-by: Charles Bailey Signed-off-by: Junio C Hamano --- t/t0024-crlf-archive.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 t/t0024-crlf-archive.sh (limited to 't/t0024-crlf-archive.sh') diff --git a/t/t0024-crlf-archive.sh b/t/t0024-crlf-archive.sh new file mode 100644 index 0000000000..35114396c6 --- /dev/null +++ b/t/t0024-crlf-archive.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +test_description='respect crlf in git archive' + +. ./test-lib.sh +UNZIP=${UNZIP:-unzip} + +test_expect_success setup ' + + git config core.autocrlf true + + printf "CRLF line ending\r\nAnd another\r\n" > sample && + git add sample && + + test_tick && + git commit -m Initial + +' + +test_expect_success 'tar archive' ' + + git archive --format=tar HEAD | + ( mkdir untarred && cd untarred && "$TAR" -xf - ) + + test_cmp sample untarred/sample + +' + +"$UNZIP" -v >/dev/null 2>&1 +if [ $? -eq 127 ]; then + echo "Skipping ZIP test, because unzip was not found" + test_done + exit +fi + +test_expect_failure 'zip archive' ' + + git archive --format=zip HEAD >test.zip && + + ( mkdir unzipped && cd unzipped && unzip ../test.zip ) && + + test_cmp sample unzipped/sample + +' + +test_done -- cgit v1.2.3 From b99b5b40cffb5269e4aa38b6b60391b55039e27d Mon Sep 17 00:00:00 2001 From: Charles Bailey Date: Thu, 18 Sep 2008 21:01:20 +0100 Subject: Make git archive respect core.autocrlf when creating zip format archives MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There is currently no call to git_config at the start of cmd_archive. When creating tar archives the core config is read as a side-effect of reading the tar specific config, but this doesn't happen for zip archives. The consequence is that in a configuration with core.autocrlf set, although files in a tar archive are created with crlf line endings, files in a zip archive retain unix line endings. Signed-off-by: Charles Bailey Acked-by: René Scharfe Signed-off-by: Junio C Hamano --- t/t0024-crlf-archive.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 't/t0024-crlf-archive.sh') diff --git a/t/t0024-crlf-archive.sh b/t/t0024-crlf-archive.sh index 35114396c6..e5330395fc 100644 --- a/t/t0024-crlf-archive.sh +++ b/t/t0024-crlf-archive.sh @@ -33,7 +33,7 @@ if [ $? -eq 127 ]; then exit fi -test_expect_failure 'zip archive' ' +test_expect_success 'zip archive' ' git archive --format=zip HEAD >test.zip && -- cgit v1.2.3