зеркало из https://github.com/microsoft/git.git
Merge branch 'ag/maint-combine-diff-fix' into maint
* ag/maint-combine-diff-fix: Respect core.autocrlf in combined diff
This commit is contained in:
Коммит
fb70928079
|
@ -727,6 +727,18 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent,
|
||||||
die("early EOF '%s'", elem->path);
|
die("early EOF '%s'", elem->path);
|
||||||
|
|
||||||
result[len] = 0;
|
result[len] = 0;
|
||||||
|
|
||||||
|
/* If not a fake symlink, apply filters, e.g. autocrlf */
|
||||||
|
if (is_file) {
|
||||||
|
struct strbuf buf;
|
||||||
|
|
||||||
|
strbuf_init(&buf, 0);
|
||||||
|
if (convert_to_git(elem->path, result, len, &buf, safe_crlf)) {
|
||||||
|
free(result);
|
||||||
|
result = strbuf_detach(&buf, &len);
|
||||||
|
result_size = len;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
deleted_file:
|
deleted_file:
|
||||||
|
|
|
@ -352,4 +352,20 @@ test_expect_success 'checkdiff allows new blank lines' '
|
||||||
git diff --check
|
git diff --check
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'combined diff with autocrlf conversion' '
|
||||||
|
|
||||||
|
git reset --hard &&
|
||||||
|
echo >x hello &&
|
||||||
|
git commit -m "one side" x &&
|
||||||
|
git checkout HEAD^ &&
|
||||||
|
echo >x goodbye &&
|
||||||
|
git commit -m "the other side" x &&
|
||||||
|
git config core.autocrlf true &&
|
||||||
|
test_must_fail git merge master &&
|
||||||
|
|
||||||
|
git diff | sed -e "1,/^@@@/d" >actual &&
|
||||||
|
! grep "^-" actual
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|
Загрузка…
Ссылка в новой задаче