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

[PATCH 1/1] Make git archive respect core.autocrlf when creating zip format archives

From
Charles Bailey <charles@hashpling.org>
Date
Sep 18, 2008, 20:01 UTC
Message-ID
<20080918200120.GB8631@hashpling.org>
In-Reply-To
<1a7cc4db062b7df0dae0f27b29dba66c9d917e59.1221767629.git.charles@hashpling.org>

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 <charles@hashpling.org>
---

It took me a while to find the cause of the difference in behaviour between tar and zip format archives when all the crlf fixing code seemed to be in code shared by both archiving processes. I'm 99% sure that creating zip archives from repositories with core.autocrlf set to true should create zip entries with crlf line endings but it would be good to have that confirmed.

 builtin-archive.c       |    2 ++
 t/t0024-crlf-archive.sh |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/builtin-archive.c b/builtin-archive.c
index 5ceec43..432ce2a 100644
--- a/builtin-archive.c
+++ b/builtin-archive.c
@@ -111,6 +111,8 @@ int cmd_archive(int argc, const char **argv, const char *prefix)
 {
 	const char *remote = NULL;
 
+	git_config(git_default_config, NULL);
+
 	remote = extract_remote_arg(&argc, argv);
 	if (remote)
 		return run_remote_archiver(remote, argc, argv);
diff --git a/t/t0024-crlf-archive.sh b/t/t0024-crlf-archive.sh
index 3511439..e533039 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 &&
 
-- 
1.6.0.1.309.g4f56
Next: Charles Bailey
Message 1 of 6 in “Make git archive respect core.autocrlf when creating zip format archives”
  1. 1/1 Make git archive respect core.autocrlf when creating zip format archivesCharles Bailey, Sep 18, 2008
  2. Charles BaileySep 18, 2008
  3. Andreas EricssonSep 18, 2008
  4. Charles BaileySep 18, 2008
  5. Sverre RabbelierSep 18, 2008
  6. René ScharfeSep 18, 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.