mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-09 16:45:49 +00:00
Update text=auto / core.autocrlf=false behavior
Git for Windows 1.9.4 changed the behavior when the text=auto attribute is specified and core.autocrlf=false. Previous observed behavior would *not* filter files when going into the working directory, the new behavior *does* filter. Update our behavior to match.
This commit is contained in:
parent
e1fc03c9ba
commit
d412165f94
@ -9,3 +9,6 @@ v0.21 + 1
|
||||
* Use a map for the treebuilder, making insertion O(1)
|
||||
|
||||
* LF -> CRLF filter refuses to handle mixed-EOL files
|
||||
|
||||
* LF -> CRLF filter now runs when * text = auto (with Git for Windows 1.9.4)
|
||||
|
||||
|
@ -286,7 +286,8 @@ static int crlf_check(
|
||||
if (error < 0)
|
||||
return error;
|
||||
|
||||
if (ca.auto_crlf == GIT_AUTO_CRLF_FALSE)
|
||||
if (ca.crlf_action == GIT_CRLF_GUESS &&
|
||||
ca.auto_crlf == GIT_AUTO_CRLF_FALSE)
|
||||
return GIT_PASSTHROUGH;
|
||||
|
||||
if (ca.auto_crlf == GIT_AUTO_CRLF_INPUT &&
|
||||
|
@ -279,8 +279,13 @@ void test_checkout_crlf__autocrlf_false_text_auto_attr(void)
|
||||
|
||||
git_checkout_head(g_repo, &opts);
|
||||
|
||||
check_file_contents("./crlf/all-lf", ALL_LF_TEXT_RAW);
|
||||
check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_RAW);
|
||||
if (GIT_EOL_NATIVE == GIT_EOL_CRLF) {
|
||||
check_file_contents("./crlf/all-lf", ALL_LF_TEXT_AS_CRLF);
|
||||
check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_AS_CRLF);
|
||||
} else {
|
||||
check_file_contents("./crlf/all-lf", ALL_LF_TEXT_RAW);
|
||||
check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_RAW);
|
||||
}
|
||||
}
|
||||
|
||||
void test_checkout_crlf__autocrlf_true_text_auto_attr(void)
|
||||
|
Loading…
Reference in New Issue
Block a user