[PATCH] Update the tracking references only if they were succesfully updated on remote
- From
Alex Riesen <raa.lkml@gmail.com>
- Date
- Nov 12, 2007, 21:39 UTC
- Message-ID
- <20071112213938.GC2918@steel.home>
- In-Reply-To
- <20071112213823.GB2918@steel.home>
It fixes the bug where local tracing 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 <raa.lkml@gmail.com> ---
Jeff, I think your change (334f4831e5a77) was either not complete or got broken some time later.
send-pack.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/send-pack.c b/send-pack.c index b74fd45..d56d980 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)
-- 1.5.3.5.648.g1e92c