1
0
mirror of https://github.com/git/git.git synced 2024-11-18 22:14:34 +01:00

convert: add SAFE_CRLF_KEEP_CRLF

When convert_to_git() is called, the caller may want to keep CRLF to
be kept as CRLF (and not converted into LF).

This will be used in the next commit, when apply works with files
that have CRLF and patches are applied onto these files.

Add the new value "SAFE_CRLF_KEEP_CRLF" to safe_crlf.

Prepare convert_to_git() to be able to run the clean filter, skip
the CRLF conversion and run the ident filter.

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Torsten Bögershausen 2017-08-13 10:51:04 +02:00 committed by Junio C Hamano
parent 4d7268b888
commit 2fea9de618
2 changed files with 8 additions and 5 deletions

@ -1104,10 +1104,12 @@ int convert_to_git(const struct index_state *istate,
src = dst->buf;
len = dst->len;
}
ret |= crlf_to_git(istate, path, src, len, dst, ca.crlf_action, checksafe);
if (ret && dst) {
src = dst->buf;
len = dst->len;
if (checksafe != SAFE_CRLF_KEEP_CRLF) {
ret |= crlf_to_git(istate, path, src, len, dst, ca.crlf_action, checksafe);
if (ret && dst) {
src = dst->buf;
len = dst->len;
}
}
return ret | ident_to_git(path, src, len, dst, ca.ident);
}

@ -10,7 +10,8 @@ enum safe_crlf {
SAFE_CRLF_FALSE = 0,
SAFE_CRLF_FAIL = 1,
SAFE_CRLF_WARN = 2,
SAFE_CRLF_RENORMALIZE = 3
SAFE_CRLF_RENORMALIZE = 3,
SAFE_CRLF_KEEP_CRLF = 4
};
extern enum safe_crlf safe_crlf;