From: Junio C Hamano Date: Mon, 2 May 2022 17:15:55 +0000 (-0700) Subject: Merge branch 'ep/maint-equals-null-cocci' into ep/equals-null-cocci X-Git-Tag: v2.37.0-rc0~67^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7710d1be607a7c8549ddb560dda2dd97ff38ab7a;p=thirdparty%2Fgit.git Merge branch 'ep/maint-equals-null-cocci' into ep/equals-null-cocci * ep/maint-equals-null-cocci: tree-wide: apply equals-null.cocci tree-wide: apply equals-null.cocci contrib/coccinnelle: add equals-null.cocci --- 7710d1be607a7c8549ddb560dda2dd97ff38ab7a diff --cc branch.c index 01ecb816d5,bc46adfa25..d0ca2b76d2 --- a/branch.c +++ b/branch.c @@@ -466,45 -405,9 +466,45 @@@ static void dwim_branch_start(struct re break; } - if ((commit = lookup_commit_reference(r, &oid)) == NULL) + if (!(commit = lookup_commit_reference(r, &oid))) die(_("not a valid branch point: '%s'"), start_name); - oidcpy(&oid, &commit->object.oid); + if (out_real_ref) { + *out_real_ref = real_ref; + real_ref = NULL; + } + if (out_oid) + oidcpy(out_oid, &commit->object.oid); + + FREE_AND_NULL(real_ref); +} + +void create_branch(struct repository *r, + const char *name, const char *start_name, + int force, int clobber_head_ok, int reflog, + int quiet, enum branch_track track, int dry_run) +{ + struct object_id oid; + char *real_ref; + struct strbuf ref = STRBUF_INIT; + int forcing = 0; + struct ref_transaction *transaction; + struct strbuf err = STRBUF_INIT; + char *msg; + + if (track == BRANCH_TRACK_OVERRIDE) + BUG("'track' cannot be BRANCH_TRACK_OVERRIDE. Did you mean to call dwim_and_setup_tracking()?"); + if (clobber_head_ok && !force) + BUG("'clobber_head_ok' can only be used with 'force'"); + + if (clobber_head_ok ? + validate_branchname(name, &ref) : + validate_new_branchname(name, &ref, force)) { + forcing = 1; + } + + dwim_branch_start(r, start_name, track, &real_ref, &oid); + if (dry_run) + goto cleanup; if (reflog) log_all_ref_updates = LOG_REFS_NORMAL; diff --cc reftable/writer.c index 427f1317c6,ea483955e8..2e322a5683 --- a/reftable/writer.c +++ b/reftable/writer.c @@@ -255,15 -254,11 +255,15 @@@ done int reftable_writer_add_ref(struct reftable_writer *w, struct reftable_ref_record *ref) { - struct reftable_record rec = { NULL }; - struct reftable_ref_record copy = *ref; + struct reftable_record rec = { + .type = BLOCK_TYPE_REF, + .u = { + .ref = *ref + }, + }; int err = 0; - if (ref->refname == NULL) + if (!ref->refname) return REFTABLE_API_ERROR; if (ref->update_index < w->min_update_index || ref->update_index > w->max_update_index)