| 310 | #define CHECK_REF_STATUS_REJECTED -2 |
| 311 | #define CHECK_REF_UPTODATE -3 |
| 312 | static int check_to_send_update(const struct ref *ref, const struct send_pack_args *args) |
| 313 | { |
| 314 | if (!ref->peer_ref && !args->send_mirror) |
| 315 | return CHECK_REF_NO_PUSH; |
| 316 | |
| 317 | /* Check for statuses set by set_ref_status_for_push() */ |
| 318 | switch (ref->status) { |
| 319 | case REF_STATUS_REJECT_NONFASTFORWARD: |
| 320 | case REF_STATUS_REJECT_ALREADY_EXISTS: |
| 321 | case REF_STATUS_REJECT_FETCH_FIRST: |
| 322 | case REF_STATUS_REJECT_NEEDS_FORCE: |
| 323 | case REF_STATUS_REJECT_STALE: |
| 324 | case REF_STATUS_REJECT_REMOTE_UPDATED: |
| 325 | case REF_STATUS_REJECT_NODELETE: |
| 326 | return CHECK_REF_STATUS_REJECTED; |
| 327 | case REF_STATUS_UPTODATE: |
| 328 | return CHECK_REF_UPTODATE; |
| 329 | |
| 330 | default: |
| 331 | case REF_STATUS_EXPECTING_REPORT: |
| 332 | /* already passed checks on the local side */ |
| 333 | case REF_STATUS_OK: |
| 334 | /* of course this is OK */ |
| 335 | return 0; |
| 336 | } |
| 337 | } |
| 338 | |
| 339 | /* |
| 340 | * the beginning of the next line, or the end of buffer. |
no outgoing calls
no test coverage detected