Browse Source

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>
maint
Ronnie Sahlberg 11 years ago committed by Junio C Hamano
parent
commit
026bd1d3e2
  1. 7
      refs.c
  2. 16
      refs.h

7
refs.c

@ -3334,7 +3334,7 @@ struct ref_transaction *ref_transaction_begin(void) @@ -3334,7 +3334,7 @@ struct ref_transaction *ref_transaction_begin(void)
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;

@ -3345,11 +3345,6 @@ static void ref_transaction_free(struct ref_transaction *transaction) @@ -3345,11 +3345,6 @@ static void ref_transaction_free(struct ref_transaction *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,
const char *refname)
{

16
refs.h

@ -219,17 +219,11 @@ enum action_on_err { @@ -219,17 +219,11 @@ enum action_on_err {

/*
* Begin a reference transaction. The reference transaction must
* eventually be commited using ref_transaction_commit() or rolled
* back using ref_transaction_rollback().
* eventually be commited using ref_transaction_commit() or freed by
* calling ref_transaction_free().
*/
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
* ref_transaction. In all of them, refname is the name of the
@ -238,7 +232,6 @@ void ref_transaction_rollback(struct ref_transaction *transaction); @@ -238,7 +232,6 @@ void ref_transaction_rollback(struct ref_transaction *transaction);
* can be REF_NODEREF; it is passed to update_ref_lock().
*/


/*
* Add a reference update to transaction. new_sha1 is the value that
* the reference should have after the update, or zeros if it should
@ -280,6 +273,11 @@ void ref_transaction_delete(struct ref_transaction *transaction, @@ -280,6 +273,11 @@ void ref_transaction_delete(struct ref_transaction *transaction,
int ref_transaction_commit(struct ref_transaction *transaction,
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 */
int update_ref(const char *action, const char *refname,
const unsigned char *sha1, const unsigned char *oldval,

Loading…
Cancel
Save