summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@microsoft.com>2014-02-11 16:52:08 -0800
committerEdward Thomson <ethomson@microsoft.com>2014-02-11 16:52:08 -0800
commitb033f3a3f9a4abd1e6e0c217a1bd16ab768f90ff (patch)
tree1b1fe4a6d764939f345d5a8a88f917eb1076eb92
parent5d195cf76b833886613b8a778966fba83be09ccb (diff)
downloadlibgit2-b033f3a3f9a4abd1e6e0c217a1bd16ab768f90ff.tar.gz
Never convert CRLF->LF
Core git performs no conversion on systems that use LF, emulate that.
-rw-r--r--src/crlf.c21
1 files changed, 4 insertions, 17 deletions
diff --git a/src/crlf.c b/src/crlf.c
index db69cab5c..2480cc918 100644
--- a/src/crlf.c
+++ b/src/crlf.c
@@ -218,24 +218,11 @@ static int crlf_apply_to_workdir(
if (!workdir_ending)
return -1;
- if (!strcmp("\n", workdir_ending)) {
- if (ca->crlf_action == GIT_CRLF_GUESS && ca->auto_crlf)
- return GIT_PASSTHROUGH;
-
- if (git_buf_find(from, '\r') < 0)
- return GIT_PASSTHROUGH;
-
- if (git_buf_text_crlf_to_lf(to, from) < 0)
- return -1;
- } else {
- /* only other supported option is lf->crlf conversion */
- assert(!strcmp("\r\n", workdir_ending));
-
- if (git_buf_text_lf_to_crlf(to, from) < 0)
- return -1;
- }
+ /* only LF->CRLF conversion is supported, do nothing on LF platforms */
+ if (strcmp(workdir_ending, "\r\n") != 0)
+ return GIT_PASSTHROUGH;
- return 0;
+ return git_buf_text_lf_to_crlf(to, from);
}
static int crlf_check(