зеркало из 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);
|
||||
|
||||
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 {
|
||||
deleted_file:
|
||||
|
|
|
@ -352,4 +352,20 @@ test_expect_success 'checkdiff allows new blank lines' '
|
|||
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
|
||||
|
|
Загрузка…
Ссылка в новой задаче