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

[PATCH] init-db: Store current value of autocrlf

From
Steffen Prohaska <prohaska@zib.de>
Date
Mar 23, 2008, 09:34 UTC
Message-ID
<alpine.OSX.1.00.0803231032180.7541@cougar>
In-Reply-To
<alpine.OSX.1.00.0803230943500.7541@cougar>

Storing the current value of autocrlf to preserve it for this repository even if the global setup changes is a good idea. Changing autocrlf later is tricky because the work tree's line endings depend on the settings during checkout. Therefore, it makes sense to preserve the value of autocrlf that exists during the first checkout. In this regards autocrlf is different from, for example, author, because author can be easily changed later without requiring any conversion of existing files in the work tree.

This commit modifies the initialization of a new repository to store the current value of autocrlf.

Signed-off-by: Steffen Prohaska <prohaska@zib.de>
---
 builtin-init-db.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/builtin-init-db.c b/builtin-init-db.c
index 79eaf8d..6c49a82 100644
--- a/builtin-init-db.c
+++ b/builtin-init-db.c
@@ -268,6 +268,22 @@ static int create_default_files(const char *git_dir, const char *template_path)
 			git_config_set("core.symlinks", "false");
 	}
 
+	/*
+	 *  Store current value of auto_crlf to preserve it for
+	 *  this repository even if the global setup changes.
+	 */
+	switch (auto_crlf) {
+	case -1:
+		git_config_set("core.autocrlf", "input");
+		break;
+	case 0:
+		git_config_set("core.autocrlf", "false");
+		break;
+	case 1:
+		git_config_set("core.autocrlf", "true");
+		break;
+	}
+
 	return reinit;
 }
 
-- 
1.5.5.rc0.21.g740fd.dirty
Previous: Steffen ProhaskaNext: Dmitry Potapov
Message 2 of 25 in “Store autocrlf during init-db (was [msysGit] autocrlf problems with Git-preview20080301.exe)”
  1. Steffen ProhaskaMar 23, 2008
  2. init-db: Store current value of autocrlfSteffen Prohaska, Mar 23, 2008
  3. Dmitry PotapovMar 24, 2008
  4. Johannes SchindelinMar 23, 2008
  5. Steffen ProhaskaMar 23, 2008
  6. Johannes SchindelinMar 23, 2008
  7. Steffen ProhaskaMar 23, 2008
  8. Johannes SchindelinMar 23, 2008
  9. Steffen ProhaskaMar 23, 2008
  10. Johannes SchindelinMar 23, 2008
  11. Steffen ProhaskaMar 23, 2008
  12. Johannes SchindelinMar 23, 2008
  13. Dmitry PotapovMar 23, 2008
  14. Johannes SchindelinMar 24, 2008
  15. Dmitry PotapovMar 24, 2008
  16. Johannes SchindelinMar 24, 2008
  17. Dmitry PotapovMar 24, 2008
  18. Introduce core.initHookJohannes Schindelin, Mar 24, 2008
  19. init: show "Reinit" message even in an (existing) empty repositoryJohannes Schindelin, Mar 24, 2008
  20. Junio C HamanoMar 25, 2008
  21. Johannes SchindelinMar 25, 2008
  22. Junio C HamanoMar 24, 2008
  23. Introduce core.initHookJohannes Schindelin, Mar 24, 2008
  24. Junio C HamanoMar 24, 2008
  25. Introduce core.initHookJohannes Schindelin, Mar 24, 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.