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>
This commit is contained in:
Ronnie Sahlberg 2014-06-20 07:42:43 -07:00 committed by Junio C Hamano
parent 026bd1d3e2
commit 33f9fc5932
3 changed files with 3 additions and 4 deletions

View File

@ -369,6 +369,7 @@ int cmd_update_ref(int argc, const char **argv, const char *prefix)
update_refs_stdin(); update_refs_stdin();
ret = ref_transaction_commit(transaction, msg, ret = ref_transaction_commit(transaction, msg,
UPDATE_REFS_DIE_ON_ERR); UPDATE_REFS_DIE_ON_ERR);
ref_transaction_free(transaction);
return ret; return ret;
} }

1
refs.c
View File

@ -3509,7 +3509,6 @@ cleanup:
if (updates[i]->lock) if (updates[i]->lock)
unlock_ref(updates[i]->lock); unlock_ref(updates[i]->lock);
free(delnames); free(delnames);
ref_transaction_free(transaction);
return ret; return ret;
} }

5
refs.h
View File

@ -219,8 +219,7 @@ enum action_on_err {
/* /*
* Begin a reference transaction. The reference transaction must * Begin a reference transaction. The reference transaction must
* eventually be commited using ref_transaction_commit() or freed by * be freed by calling ref_transaction_free().
* calling ref_transaction_free().
*/ */
struct ref_transaction *ref_transaction_begin(void); struct ref_transaction *ref_transaction_begin(void);
@ -268,7 +267,7 @@ void ref_transaction_delete(struct ref_transaction *transaction,
/* /*
* Commit all of the changes that have been queued in transaction, as * Commit all of the changes that have been queued in transaction, as
* atomically as possible. Return a nonzero value if there is a * atomically as possible. Return a nonzero value if there is a
* problem. The ref_transaction is freed by this function. * problem.
*/ */
int ref_transaction_commit(struct ref_transaction *transaction, int ref_transaction_commit(struct ref_transaction *transaction,
const char *msg, enum action_on_err onerr); const char *msg, enum action_on_err onerr);