Browse Source

transport-helper: improve push messages

If there's already a remote-helper tracking ref, we can fetch the SHA-1
to report proper push messages (as opposed to always reporting
[new branch]).

The remote-helper currently can specify the old SHA-1 to avoid this
problem, but there's no point in forcing all remote-helpers to be aware
of git commit ids; they should be able to be agnostic of them.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Felipe Contreras 12 years ago committed by Junio C Hamano
parent
commit
5034fdea30
  1. 14
      t/t5801-remote-helpers.sh
  2. 1
      transport-helper.c

14
t/t5801-remote-helpers.sh

@ -186,4 +186,18 @@ test_expect_success 'proper failure checks for pushing' ' @@ -186,4 +186,18 @@ test_expect_success 'proper failure checks for pushing' '
)
'

test_expect_success 'push messages' '
(cd local &&
git checkout -b new_branch master &&
echo new >>file &&
git commit -a -m new &&
git push origin new_branch &&
git fetch origin &&
echo new >>file &&
git commit -a -m new &&
git push origin new_branch 2> msg &&
! grep "\[new branch\]" msg
)
'

test_done

1
transport-helper.c

@ -801,6 +801,7 @@ static int push_refs_with_export(struct transport *transport, @@ -801,6 +801,7 @@ static int push_refs_with_export(struct transport *transport,
if (private && !get_sha1(private, sha1)) {
strbuf_addf(&buf, "^%s", private);
string_list_append(&revlist_args, strbuf_detach(&buf, NULL));
hashcpy(ref->old_sha1, sha1);
}
free(private);


Loading…
Cancel
Save