refs.c: ref_transaction_commit should not free the transaction

Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Ronnie Sahlberg <sahlberg@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Acked-by: Michael Haggerty <mhagger@alum.mit.edu>

Ronnie Sahlberg committed Jun 20, 2014 at 07:42 UTC 33f9fc593247322ddea5515f548a06cf34d12c2f
3 files changed +3 -4
builtin/update-ref.c
+1
@@ -369,6 +369,7 @@ int cmd_update_ref(int argc, const char **argv, const char *prefix)
369 update_refs_stdin();
370 ret = ref_transaction_commit(transaction, msg,
371 UPDATE_REFS_DIE_ON_ERR);
372 + ref_transaction_free(transaction);
373 return ret;
374 }
375
refs.c
-1
@@ -3509,7 +3509,6 @@ cleanup:
3509 if (updates[i]->lock)
3510 unlock_ref(updates[i]->lock);
3511 free(delnames);
3512 - ref_transaction_free(transaction);
3512 return ret;
3513 }
3514
refs.h
+2 -3
@@ -219,8 +219,7 @@ enum action_on_err {
219
220 /*
221 * Begin a reference transaction. The reference transaction must
222 - * eventually be commited using ref_transaction_commit() or freed by
223 - * calling ref_transaction_free().
222 + * be freed by calling ref_transaction_free().
223 */
224 struct ref_transaction *ref_transaction_begin(void);
225
@@ -268,7 +267,7 @@ void ref_transaction_delete(struct ref_transaction *transaction,
267 /*
268 * Commit all of the changes that have been queued in transaction, as
269 * atomically as possible. Return a nonzero value if there is a
271 - * problem. The ref_transaction is freed by this function.
270 + * problem.
271 */
272 int ref_transaction_commit(struct ref_transaction *transaction,
273 const char *msg, enum action_on_err onerr);