# [RESEND/PATCH] transport-helper: improve push messages

2 messages from 2013-05-03 to 2013-05-05. Participants: Felipe Contreras, Junio C Hamano.
Thread: https://gitlist.dev/t/33719

## Felipe Contreras, 2013-05-03 23:41

Subject: [RESEND/PATCH] transport-helper: improve push messages
Message-ID: <1367624519-12623-1-git-send-email-felipe.contreras@gmail.com>
URL: https://gitlist.dev/e/1367624519-12623-1-git-send-email-felipe.contreras%40gmail.com

```
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>
---

I already sent this, but it has had the unfortunate luck of getting stuck with
a bunch of irrelevant patches in 'next'.

This is not only good enough for 'master', but probably even 'maint'.

 t/t5801-remote-helpers.sh | 14 ++++++++++++++
 transport-helper.c        |  1 +
 2 files changed, 15 insertions(+)

diff --git a/t/t5801-remote-helpers.sh b/t/t5801-remote-helpers.sh
index 69212cd..dbb02e2 100755
--- a/t/t5801-remote-helpers.sh
+++ b/t/t5801-remote-helpers.sh
@@ -186,4 +186,18 @@ test_expect_success GPG 'push signed tag with signed-tags capability' '
 	compare_refs local signed-tag-2 server signed-tag-2
 '
 
+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 5f8d075..835815f 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -806,6 +806,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);
 
-- 
1.8.3.rc0.401.g45bba44

```

## Junio C Hamano, 2013-05-05 17:59

Subject: Re: [RESEND/PATCH] transport-helper: improve push messages
Message-ID: <7vip2xux3b.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vip2xux3b.fsf%40alter.siamese.dyndns.org
In-Reply-To: <1367624519-12623-1-git-send-email-felipe.contreras@gmail.com>

```
Felipe Contreras <felipe.contreras@gmail.com> writes:

> I already sent this, but it has had the unfortunate luck of getting stuck with
> a bunch of irrelevant patches in 'next'.
>
> This is not only good enough for 'master', but probably even 'maint'.

Will apply for 1.8.3 (1.8.2.x may follow later).  Thanks for a
reminder.

```
