зеркало из https://github.com/microsoft/git.git
git-merge-file: refuse to merge binary files
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
9f30855d0f
Коммит
5771907a57
|
@ -36,9 +36,13 @@ int cmd_merge_file(int argc, char **argv, char **envp)
|
||||||
for (; i < 3; i++)
|
for (; i < 3; i++)
|
||||||
names[i] = argv[i + 1];
|
names[i] = argv[i + 1];
|
||||||
|
|
||||||
for (i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++) {
|
||||||
if (read_mmfile(mmfs + i, argv[i + 1]))
|
if (read_mmfile(mmfs + i, argv[i + 1]))
|
||||||
return -1;
|
return -1;
|
||||||
|
if (buffer_is_binary(mmfs[i].ptr, mmfs[i].size))
|
||||||
|
return error("Cannot merge binary files: %s\n",
|
||||||
|
argv[i + 1]);
|
||||||
|
}
|
||||||
|
|
||||||
ret = xdl_merge(mmfs + 1, mmfs + 0, names[0], mmfs + 2, names[2],
|
ret = xdl_merge(mmfs + 1, mmfs + 0, names[0], mmfs + 2, names[2],
|
||||||
&xpp, XDL_MERGE_ZEALOUS, &result);
|
&xpp, XDL_MERGE_ZEALOUS, &result);
|
||||||
|
|
|
@ -134,5 +134,10 @@ EOF
|
||||||
|
|
||||||
test_expect_success "expected conflict markers" "git diff expect out"
|
test_expect_success "expected conflict markers" "git diff expect out"
|
||||||
|
|
||||||
|
test_expect_success 'binary files cannot be merged' '
|
||||||
|
! git merge-file -p orig.txt ../test4012.png new1.txt 2> merge.err &&
|
||||||
|
grep "Cannot merge binary files" merge.err
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче