git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/2] Add new test to show git archive autocrlf bug

From
Charles Bailey <charles@hashpling.org>
Date
Sep 21, 2008, 20:25 UTC
Message-ID
<1222028727-30097-1-git-send-email-charles@hashpling.org>
Signed-off-by: Charles Bailey <charles@hashpling.org>
---

As the few responses to this patch were only positive last time around (despite my attempt to confuse things by messing up the threading), I'm resending for inclusion. I believe that the current behaviour is buggy, so I hope that this patch is 'maint' worthy.

 t/t0024-crlf-archive.sh |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 46 insertions(+), 0 deletions(-)
 create mode 100644 t/t0024-crlf-archive.sh
diff --git a/t/t0024-crlf-archive.sh b/t/t0024-crlf-archive.sh
new file mode 100644
index 0000000..3511439
--- /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
-- 
1.6.0.1.309.g4f56
Next: Charles Bailey
Message 1 of 2 in “Add new test to show git archive autocrlf bug”
  1. 1/2 Add new test to show git archive autocrlf bugCharles Bailey, Sep 21, 2008
  2. 2/2 Make git respect core.autocrlf for zip archivesCharles Bailey, Sep 21, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.