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:
parent
9f30855d0f
commit
5771907a57
@ -36,9 +36,13 @@ int cmd_merge_file(int argc, char **argv, char **envp)
|
||||
for (; i < 3; i++)
|
||||
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]))
|
||||
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],
|
||||
&xpp, XDL_MERGE_ZEALOUS, &result);
|
||||
|
@ -134,5 +134,10 @@ EOF
|
||||
|
||||
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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user