Browse Source

upload-pack: Improve error message when bad ref requested

When printing an error message saying a ref was requested that we do not
have, only print that ref, rather than the ref and everything sent to us
on the same packet line (e.g. protocol support specifications).

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Elijah Newren 15 years ago committed by Junio C Hamano
parent
commit
9f9aa76130
  1. 9
      t/t5530-upload-pack-error.sh
  2. 3
      upload-pack.c

9
t/t5530-upload-pack-error.sh

@ -60,6 +60,15 @@ test_expect_success 'upload-pack fails due to error in rev-list' ' @@ -60,6 +60,15 @@ test_expect_success 'upload-pack fails due to error in rev-list' '
grep "bad tree object" output.err
'

test_expect_success 'upload-pack error message when bad ref requested' '

printf "0045want %s multi_ack_detailed\n00000009done\n0000" \
"deadbeefdeadbeefdeadbeefdeadbeefdeadbeef" >input &&
test_must_fail git upload-pack . <input >output 2>output.err &&
grep -q "not our ref" output.err &&
! grep -q multi_ack_detailed output.err
'

test_expect_success 'upload-pack fails due to error in pack-objects enumeration' '

printf "0032want %s\n00000009done\n0000" \

3
upload-pack.c

@ -549,7 +549,8 @@ static void receive_needs(void) @@ -549,7 +549,8 @@ static void receive_needs(void)
*/
o = lookup_object(sha1_buf);
if (!o || !(o->flags & OUR_REF))
die("git upload-pack: not our ref %s", line+5);
die("git upload-pack: not our ref %s",
sha1_to_hex(sha1_buf));
if (!(o->flags & WANTED)) {
o->flags |= WANTED;
add_object_array(o, NULL, &want_obj);

Loading…
Cancel
Save