| 572 | } |
| 573 | |
| 574 | static void update_one_tracking_ref(struct remote *remote, char *refname, |
| 575 | struct object_id *new_oid, int deletion, |
| 576 | int verbose) |
| 577 | { |
| 578 | struct refspec_item rs; |
| 579 | |
| 580 | memset(&rs, 0, sizeof(rs)); |
| 581 | rs.src = refname; |
| 582 | rs.dst = NULL; |
| 583 | |
| 584 | if (!remote_find_tracking(remote, &rs)) { |
| 585 | if (verbose) |
| 586 | fprintf(stderr, "updating local tracking ref '%s'\n", rs.dst); |
| 587 | if (deletion) |
| 588 | refs_delete_ref(get_main_ref_store(the_repository), |
| 589 | NULL, rs.dst, NULL, 0); |
| 590 | else |
| 591 | refs_update_ref(get_main_ref_store(the_repository), |
| 592 | "update by push", rs.dst, new_oid, |
| 593 | NULL, 0, 0); |
| 594 | free(rs.dst); |
| 595 | } |
| 596 | } |
| 597 | |
| 598 | void transport_update_tracking_ref(struct remote *remote, struct ref *ref, int verbose) |
| 599 | { |
no test coverage detected