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

Function ref_update_check_old_target

refs.c:3149–3171  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3147}
3148
3149enum ref_transaction_error ref_update_check_old_target(const char *referent,
3150 struct ref_update *update,
3151 struct strbuf *err)
3152{
3153 if (!update->old_target)
3154 BUG("called without old_target set");
3155
3156 if (!strcmp(referent, update->old_target))
3157 return 0;
3158
3159 if (!strcmp(referent, "")) {
3160 strbuf_addf(err, "verifying symref target: '%s': "
3161 "reference is missing but expected %s",
3162 ref_update_original_update_refname(update),
3163 update->old_target);
3164 return REF_TRANSACTION_ERROR_NONEXISTENT_REF;
3165 }
3166
3167 strbuf_addf(err, "verifying symref target: '%s': is at %s but expected %s",
3168 ref_update_original_update_refname(update),
3169 referent, update->old_target);
3170 return REF_TRANSACTION_ERROR_INCORRECT_OLD_VALUE;
3171}
3172
3173struct migration_data {
3174 struct ref_store *old_refs;

Callers 2

prepare_single_updateFunction · 0.85
lock_ref_for_updateFunction · 0.85

Calls 2

strbuf_addfFunction · 0.85

Tested by

no test coverage detected