summaryrefslogtreecommitdiff
path: root/convert.c
diff options
context:
space:
mode:
authorTorsten Bögershausen <tboegi@web.de>2016-02-05 17:13:25 +0100
committerJunio C Hamano <gitster@pobox.com>2016-02-08 10:02:12 -0800
commit4b4024f5ddca2ac14c2b15158d7cca888a8ae25e (patch)
treee0f117787f8c3dcce9c88be39d2d8c8d8c3fb684 /convert.c
parentbb211b4de83b7cbc93049bc0d73883083a6a8b0b (diff)
downloadgit-4b4024f5ddca2ac14c2b15158d7cca888a8ae25e.tar.gz
convert.c: use text_eol_is_crlf()
Add a helper function to find out, which line endings text files should get at checkout, depending on core.autocrlf and core.eol configuration variables. Signed-off-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'convert.c')
-rw-r--r--convert.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/convert.c b/convert.c
index d0c8c6620d..557e574da6 100644
--- a/convert.c
+++ b/convert.c
@@ -149,6 +149,19 @@ const char *get_wt_convert_stats_ascii(const char *path)
return ret;
}
+static int text_eol_is_crlf(void)
+{
+ if (auto_crlf == AUTO_CRLF_TRUE)
+ return 1;
+ else if (auto_crlf == AUTO_CRLF_INPUT)
+ return 0;
+ if (core_eol == EOL_CRLF)
+ return 1;
+ if (core_eol == EOL_UNSET && EOL_NATIVE == EOL_CRLF)
+ return 1;
+ return 0;
+}
+
static enum eol output_eol(enum crlf_action crlf_action)
{
switch (crlf_action) {
@@ -164,12 +177,7 @@ static enum eol output_eol(enum crlf_action crlf_action)
/* fall through */
case CRLF_TEXT:
case CRLF_AUTO:
- if (auto_crlf == AUTO_CRLF_TRUE)
- return EOL_CRLF;
- else if (auto_crlf == AUTO_CRLF_INPUT)
- return EOL_LF;
- else if (core_eol == EOL_UNSET)
- return EOL_NATIVE;
+ return text_eol_is_crlf() ? EOL_CRLF : EOL_LF;
}
return core_eol;
}