diff options
author | Alex Riesen <raa.lkml@gmail.com> | 2007-11-12 22:39:38 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-11-12 17:50:31 -0800 |
commit | ed31df312a30d91c288a4b6e3d031de15284405a (patch) | |
tree | 41073b1714167d9206ad0dedf0bff617fc276480 | |
parent | 6fa92bf3cdbfdd8c9c56ef40a5170a859442b166 (diff) | |
download | git-ed31df312a30d91c288a4b6e3d031de15284405a.tar.gz git-ed31df312a30d91c288a4b6e3d031de15284405a.tar.xz |
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 <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | send-pack.c | 3 |
1 files changed, 2 insertions, 1 deletions
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) |