refs.c: remove ref_transaction_rollback

We do not yet need both a rollback and a free function for transactions.
Remove ref_transaction_rollback and use ref_transaction_free instead.

At a later stage we may reintroduce a rollback function if we want to start
adding reusable transactions and similar.

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:42 -07:00 коммит произвёл Junio C Hamano
Родитель cb682f8cfe
Коммит 026bd1d3e2
2 изменённых файлов: 8 добавлений и 15 удалений

7
refs.c
Просмотреть файл

@ -3334,7 +3334,7 @@ struct ref_transaction *ref_transaction_begin(void)
return xcalloc(1, sizeof(struct ref_transaction)); return xcalloc(1, sizeof(struct ref_transaction));
} }
static void ref_transaction_free(struct ref_transaction *transaction) void ref_transaction_free(struct ref_transaction *transaction)
{ {
int i; int i;
@ -3345,11 +3345,6 @@ static void ref_transaction_free(struct ref_transaction *transaction)
free(transaction); free(transaction);
} }
void ref_transaction_rollback(struct ref_transaction *transaction)
{
ref_transaction_free(transaction);
}
static struct ref_update *add_update(struct ref_transaction *transaction, static struct ref_update *add_update(struct ref_transaction *transaction,
const char *refname) const char *refname)
{ {

16
refs.h
Просмотреть файл

@ -219,17 +219,11 @@ 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 rolled * eventually be commited using ref_transaction_commit() or freed by
* back using ref_transaction_rollback(). * calling ref_transaction_free().
*/ */
struct ref_transaction *ref_transaction_begin(void); struct ref_transaction *ref_transaction_begin(void);
/*
* Roll back a ref_transaction and free all associated data.
*/
void ref_transaction_rollback(struct ref_transaction *transaction);
/* /*
* The following functions add a reference check or update to a * The following functions add a reference check or update to a
* ref_transaction. In all of them, refname is the name of the * ref_transaction. In all of them, refname is the name of the
@ -238,7 +232,6 @@ void ref_transaction_rollback(struct ref_transaction *transaction);
* can be REF_NODEREF; it is passed to update_ref_lock(). * can be REF_NODEREF; it is passed to update_ref_lock().
*/ */
/* /*
* Add a reference update to transaction. new_sha1 is the value that * Add a reference update to transaction. new_sha1 is the value that
* the reference should have after the update, or zeros if it should * the reference should have after the update, or zeros if it should
@ -280,6 +273,11 @@ void ref_transaction_delete(struct ref_transaction *transaction,
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);
/*
* Free an existing transaction and all associated data.
*/
void ref_transaction_free(struct ref_transaction *transaction);
/** Lock a ref and then write its file */ /** Lock a ref and then write its file */
int update_ref(const char *action, const char *refname, int update_ref(const char *action, const char *refname,
const unsigned char *sha1, const unsigned char *oldval, const unsigned char *sha1, const unsigned char *oldval,