Re: git diff returns fatal error with core.safecrlf is set to true.
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:57:52
Junio C Hamano [off-list ref] writes:
The helper may want to learn a way to be told to demote that error to a warning.
Perhaps something like this? diff.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/diff.c b/diff.c
index f0b3e7c..9b4f3ac 100644
--- a/diff.c
+++ b/diff.c@@ -2677,6 +2677,10 @@ static int diff_populate_gitlink(struct diff_filespec *s, int size_only) int diff_populate_filespec(struct diff_filespec *s, int size_only) { int err = 0; + enum safe_crlf crlf_warn = (safe_crlf != SAFE_CRLF_FAIL + ? safe_crlf + : SAFE_CRLF_WARN); + if (!DIFF_FILE_VALID(s)) die("internal error: asking to populate invalid file."); if (S_ISDIR(s->mode))
@@ -2732,7 +2736,7 @@ int diff_populate_filespec(struct diff_filespec *s, int size_only) /* * Convert from working tree format to canonical git format */ - if (convert_to_git(s->path, s->data, s->size, &buf, safe_crlf)) { + if (convert_to_git(s->path, s->data, s->size, &buf, crlf_warn)) { size_t size = 0; munmap(s->data, s->size); s->should_munmap = 0;