diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2007-02-14 05:16:12 +0300 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-02-14 22:19:28 +0300 |
commit | d7f4633405acf3dc09798a759463c616c7c49dfd (patch) | |
tree | 87ca32525975b0762c1bdad688b223cca48ebf4c | |
parent | 6c510bee2013022fbce52f4b0ec0cc593fc0cc48 (diff) |
Make AutoCRLF ternary variable.
This allows you to do:
[core]
AutoCRLF = input
and it should do only the CRLF->LF translation (ie it simplifies CRLF only
when reading working tree files, but when checking out files, it leaves
the LF alone, and doesn't turn it into a CRLF).
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r-- | config.c | 4 | ||||
-rw-r--r-- | convert.c | 2 | ||||
-rw-r--r-- | environment.c | 2 |
3 files changed, 6 insertions, 2 deletions
@@ -325,6 +325,10 @@ int git_default_config(const char *var, const char *value) } if (!strcmp(var, "core.autocrlf")) { + if (value && !strcasecmp(value, "input")) { + auto_crlf = -1; + return 0; + } auto_crlf = git_config_bool(var, value); return 0; } @@ -140,7 +140,7 @@ int convert_to_working_tree(const char *path, char **bufp, unsigned long *sizep) * based on filename patterns. Right now we just do the * stupid auto-CRLF one. */ - if (!auto_crlf) + if (auto_crlf <= 0) return 0; size = *sizep; diff --git a/environment.c b/environment.c index 2fa0960412..570e32ac3c 100644 --- a/environment.c +++ b/environment.c @@ -28,7 +28,7 @@ size_t packed_git_window_size = DEFAULT_PACKED_GIT_WINDOW_SIZE; size_t packed_git_limit = DEFAULT_PACKED_GIT_LIMIT; int pager_in_use; int pager_use_color = 1; -int auto_crlf = 0; +int auto_crlf = 0; /* 1: both ways, -1: only when adding git objects */ static const char *git_dir; static char *git_object_dir, *git_index_file, *git_refs_dir, *git_graft_file; |