MCPcopy Create free account
hub / github.com/git/git / parse_cmd_symref_delete

Function parse_cmd_symref_delete

builtin/update-ref.c:501–528  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

499}
500
501static void parse_cmd_symref_delete(struct ref_transaction *transaction,
502 const char *next, const char *end UNUSED,
503 struct command_options *opts UNUSED)
504{
505 struct strbuf err = STRBUF_INIT;
506 char *refname, *old_target;
507
508 if (!(update_flags & REF_NO_DEREF))
509 die("symref-delete: cannot operate with deref mode");
510
511 refname = parse_refname(&next);
512 if (!refname)
513 die("symref-delete: missing <ref>");
514
515 old_target = parse_next_refname(&next);
516
517 if (*next != line_termination)
518 die("symref-delete %s: extra input: %s", refname, next);
519
520 if (ref_transaction_delete(transaction, refname, NULL,
521 old_target, update_flags, msg, &err))
522 die("%s", err.buf);
523
524 update_flags = default_flags;
525 free(refname);
526 free(old_target);
527 strbuf_release(&err);
528}
529
530static void parse_cmd_verify(struct ref_transaction *transaction,
531 const char *next, const char *end,

Callers

nothing calls this directly

Calls 5

parse_refnameFunction · 0.85
parse_next_refnameFunction · 0.85
ref_transaction_deleteFunction · 0.85
strbuf_releaseFunction · 0.85
dieFunction · 0.50

Tested by

no test coverage detected