summaryrefslogtreecommitdiff
path: root/refs.h
diff options
context:
space:
mode:
authorLibravatar Ronnie Sahlberg <sahlberg@google.com>2014-06-20 07:42:46 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2014-07-14 11:54:40 -0700
commit995f8746bc421a537e12622770a90be2205cd26f (patch)
treef10fab2b8568908fc8a941f3e488bbf7fa74519f /refs.h
parentrefs.c: allow passing NULL to ref_transaction_free (diff)
downloadtgif-995f8746bc421a537e12622770a90be2205cd26f.tar.xz
refs.c: add a strbuf argument to ref_transaction_commit for error logging
Add a strbuf argument to _commit so that we can pass an error string back to the caller. So that we can do error logging from the caller instead of from _commit. Longer term plan is to first convert all callers to use onerr==QUIET_ON_ERR and craft any log messages from the callers themselves and finally remove the onerr argument completely. 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>
Diffstat (limited to 'refs.h')
-rw-r--r--refs.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/refs.h b/refs.h
index 8c7f9c44dc..09d3564116 100644
--- a/refs.h
+++ b/refs.h
@@ -269,9 +269,12 @@ 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.
+ * If err is non-NULL we will add an error string to it to explain why
+ * the transaction failed. The string does not end in newline.
*/
int ref_transaction_commit(struct ref_transaction *transaction,
- const char *msg, enum action_on_err onerr);
+ const char *msg, struct strbuf *err,
+ enum action_on_err onerr);
/*
* Free an existing transaction and all associated data.