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();
|
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
1
refs.c
@ -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
5
refs.h
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user