From ed31df312a30d91c288a4b6e3d031de15284405a Mon Sep 17 00:00:00 2001 From: Alex Riesen Date: Mon, 12 Nov 2007 22:39:38 +0100 Subject: [PATCH] Update the tracking references only if they were succesfully updated on remote It fixes the bug where local tracking branches were filled with zeroed SHA-1 if the remote branch was not updated because, for instance, it was not an ancestor of the local (i.e. had other changes). Signed-off-by: Alex Riesen Signed-off-by: Junio C Hamano --- send-pack.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/send-pack.c b/send-pack.c index b74fd454f..d56d980af 100644 --- a/send-pack.c +++ b/send-pack.c @@ -349,7 +349,8 @@ static int send_pack(int in, int out, struct remote *remote, int nr_refspec, cha if (!dry_run && remote && ret == 0) { for (ref = remote_refs; ref; ref = ref->next) - update_tracking_ref(remote, ref); + if (!is_null_sha1(ref->new_sha1)) + update_tracking_ref(remote, ref); } if (!new_refs && ret == 0) -- 2.26.2