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

Function ref_transaction_free

refs.c:1230–1266  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1228}
1229
1230void ref_transaction_free(struct ref_transaction *transaction)
1231{
1232 size_t i;
1233
1234 if (!transaction)
1235 return;
1236
1237 switch (transaction->state) {
1238 case REF_TRANSACTION_OPEN:
1239 case REF_TRANSACTION_CLOSED:
1240 /* OK */
1241 break;
1242 case REF_TRANSACTION_PREPARED:
1243 BUG("free called on a prepared reference transaction");
1244 break;
1245 default:
1246 BUG("unexpected reference transaction state");
1247 break;
1248 }
1249
1250 for (i = 0; i < transaction->nr; i++) {
1251 free(transaction->updates[i]->msg);
1252 free(transaction->updates[i]->committer_info);
1253 free((char *)transaction->updates[i]->new_target);
1254 free((char *)transaction->updates[i]->old_target);
1255 free((char *)transaction->updates[i]->rejection_details);
1256 free(transaction->updates[i]);
1257 }
1258
1259 if (transaction->rejections)
1260 free(transaction->rejections->update_indices);
1261 free(transaction->rejections);
1262
1263 string_list_clear(&transaction->refnames, 0);
1264 free(transaction->updates);
1265 free(transaction);
1266}
1267
1268int ref_transaction_maybe_set_rejected(struct ref_transaction *transaction,
1269 size_t update_idx,

Callers 15

fast_forward_toFunction · 0.85
update_head_with_reflogFunction · 0.85
do_labelFunction · 0.85
refs_delete_refFunction · 0.85
refs_update_refFunction · 0.85
ref_transaction_abortFunction · 0.85
refs_delete_refsFunction · 0.85
create_branchFunction · 0.85
walker_fetchFunction · 0.85
prune_refFunction · 0.85

Calls 1

string_list_clearFunction · 0.85

Tested by

no test coverage detected