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:
parent
026bd1d3e2
commit
33f9fc5932
@ -369,6 +369,7 @@ int cmd_update_ref(int argc, const char **argv, const char *prefix)
|
||||
update_refs_stdin();
|
||||
ret = ref_transaction_commit(transaction, msg,
|
||||
UPDATE_REFS_DIE_ON_ERR);
|
||||
ref_transaction_free(transaction);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
1
refs.c
1
refs.c
@ -3509,7 +3509,6 @@ cleanup:
|
||||
if (updates[i]->lock)
|
||||
unlock_ref(updates[i]->lock);
|
||||
free(delnames);
|
||||
ref_transaction_free(transaction);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
5
refs.h
5
refs.h
@ -219,8 +219,7 @@ enum action_on_err {
|
||||
|
||||
/*
|
||||
* Begin a reference transaction. The reference transaction must
|
||||
* eventually be commited using ref_transaction_commit() or freed by
|
||||
* calling ref_transaction_free().
|
||||
* be freed by calling ref_transaction_free().
|
||||
*/
|
||||
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
|
||||
* 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,
|
||||
const char *msg, enum action_on_err onerr);
|
||||
|
Loading…
Reference in New Issue
Block a user