Browse Source

Merge branch 'bc/maint-apply-check-no-patch' into maint

* bc/maint-apply-check-no-patch:
  builtin/apply.c: report error on failure to recognize input
  t/t4131-apply-fake-ancestor.sh: fix broken test
maint
Junio C Hamano 13 years ago
parent
commit
406cc9b822
  1. 10
      builtin/apply.c
  2. 2
      t/t4131-apply-fake-ancestor.sh
  3. 19
      t/t4136-apply-check.sh

10
builtin/apply.c

@ -3587,15 +3587,12 @@ static int write_out_one_reject(struct patch *patch) @@ -3587,15 +3587,12 @@ static int write_out_one_reject(struct patch *patch)
return -1;
}

static int write_out_results(struct patch *list, int skipped_patch)
static int write_out_results(struct patch *list)
{
int phase;
int errs = 0;
struct patch *l;

if (!list && !skipped_patch)
return error("No changes");

for (phase = 0; phase < 2; phase++) {
l = list;
while (l) {
@ -3721,6 +3718,9 @@ static int apply_patch(int fd, const char *filename, int options) @@ -3721,6 +3718,9 @@ static int apply_patch(int fd, const char *filename, int options)
offset += nr;
}

if (!list && !skipped_patch)
die("unrecognized input");

if (whitespace_error && (ws_error_action == die_on_ws_error))
apply = 0;

@ -3738,7 +3738,7 @@ static int apply_patch(int fd, const char *filename, int options) @@ -3738,7 +3738,7 @@ static int apply_patch(int fd, const char *filename, int options)
!apply_with_reject)
exit(1);

if (apply && write_out_results(list, skipped_patch))
if (apply && write_out_results(list))
exit(1);

if (fake_ancestor)

2
t/t4131-apply-fake-ancestor.sh

@ -11,7 +11,7 @@ test_expect_success 'setup' ' @@ -11,7 +11,7 @@ test_expect_success 'setup' '
test_commit 1 &&
test_commit 2 &&
mkdir sub &&
test_commit 3 sub/3 &&
test_commit 3 sub/3.t &&
test_commit 4
'


19
t/t4136-apply-check.sh

@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
#!/bin/sh

test_description='git apply should exit non-zero with unrecognized input.'

. ./test-lib.sh

test_expect_success 'setup' '
test_commit 1
'

test_expect_success 'apply --check exits non-zero with unrecognized input' '
test_must_fail git apply --check - <<-\EOF
I am not a patch
I look nothing like a patch
git apply must fail
EOF
'

test_done
Loading…
Cancel
Save