diff options
author | Felipe Contreras <felipe.contreras@gmail.com> | 2013-05-03 18:41:59 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-05-05 11:10:53 -0700 |
commit | b056620f6fe7f05834716109fa79e7880a11bc36 (patch) | |
tree | 10f1889cd18adc142843e6725fafbf982f8b7b92 | |
parent | 571cdfd4e0a4cc24e215a5d5f0cb24292a9d7929 (diff) | |
download | git-b056620f6fe7f05834716109fa79e7880a11bc36.tar.gz git-b056620f6fe7f05834716109fa79e7880a11bc36.tar.xz |
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>
-rwxr-xr-x | t/t5801-remote-helpers.sh | 14 | ||||
-rw-r--r-- | transport-helper.c | 1 |
2 files changed, 15 insertions, 0 deletions
diff --git a/t/t5801-remote-helpers.sh b/t/t5801-remote-helpers.sh index f387027c0..214aa40ca 100755 --- a/t/t5801-remote-helpers.sh +++ b/t/t5801-remote-helpers.sh @@ -166,4 +166,18 @@ test_expect_success 'push ref with existing object' ' compare_refs local dup server dup ' +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 diff --git a/transport-helper.c b/transport-helper.c index dcd8d9741..e561ec746 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -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); |