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>
Ronnie Sahlberg committed
Jun 20, 2014 at 07:42 UTC
33f9fc593247322ddea5515f548a06cf34d12c2f
3 files changed
+3
-4
builtin/update-ref.c
+1
@@ -369,6 +369,7 @@ int cmd_update_ref(int argc, const char **argv, const char *prefix)
369
update_refs_stdin();
370
ret = ref_transaction_commit(transaction, msg,
371
UPDATE_REFS_DIE_ON_ERR);
372
+ ref_transaction_free(transaction);
373
return ret;
374
}
375
refs.c
-1
@@ -3509,7 +3509,6 @@ cleanup:
3509
if (updates[i]->lock)
3510
unlock_ref(updates[i]->lock);
3511
free(delnames);
3512
- ref_transaction_free(transaction);
3512
return ret;
3513
}
3514
refs.h
+2
-3
@@ -219,8 +219,7 @@ enum action_on_err {
219
220
/*
221
* Begin a reference transaction. The reference transaction must
222
- * eventually be commited using ref_transaction_commit() or freed by
223
- * calling ref_transaction_free().
222
+ * be freed by calling ref_transaction_free().
223
*/
224
struct ref_transaction *ref_transaction_begin(void);
225
@@ -268,7 +267,7 @@ void ref_transaction_delete(struct ref_transaction *transaction,
267
/*
268
* Commit all of the changes that have been queued in transaction, as
269
* atomically as possible. Return a nonzero value if there is a
271
- * problem. The ref_transaction is freed by this function.
270
+ * problem.
271
*/
272
int ref_transaction_commit(struct ref_transaction *transaction,
273
const char *msg, enum action_on_err onerr);