I have moved the patch to add an err argument to this branch and update all patches that adds calls to ref_Transaction_begin to the new signature. Please see https://github.com/rsahlberg/git/tree/ref-transactions Thanks! On Sat, May 17, 2014 at 6:14 AM, Michael Haggerty <mhagger@xxxxxxxxxxxx> wrote: > On 05/16/2014 07:37 PM, Ronnie Sahlberg wrote: >> Update replace.c to use ref transactions for updates. >> >> Signed-off-by: Ronnie Sahlberg <sahlberg@xxxxxxxxxx> >> --- >> builtin/replace.c | 14 ++++++++------ >> 1 file changed, 8 insertions(+), 6 deletions(-) >> >> diff --git a/builtin/replace.c b/builtin/replace.c >> index 3da1bae..e8932cd 100644 >> --- a/builtin/replace.c >> +++ b/builtin/replace.c >> @@ -133,7 +133,8 @@ static int replace_object_sha1(const char *object_ref, >> unsigned char prev[20]; >> enum object_type obj_type, repl_type; >> char ref[PATH_MAX]; >> - struct ref_lock *lock; >> + struct ref_transaction *transaction; >> + struct strbuf err = STRBUF_INIT; >> >> if (snprintf(ref, sizeof(ref), >> "refs/replace/%s", >> @@ -156,11 +157,12 @@ static int replace_object_sha1(const char *object_ref, >> else if (!force) >> die("replace ref '%s' already exists", ref); >> >> - lock = lock_any_ref_for_update(ref, prev, 0, NULL); >> - if (!lock) >> - die("%s: cannot lock the ref", ref); >> - if (write_ref_sha1(lock, repl, NULL) < 0) >> - die("%s: cannot update the ref", ref); >> + transaction = ref_transaction_begin(); >> + if (!transaction || >> + ref_transaction_update(transaction, ref, repl, prev, >> + 0, !is_null_sha1(prev), &err) || >> + ref_transaction_commit(transaction, NULL, &err)) >> + die("%s", err.buf); > > Same here: err can be empty if ref_transaction_begin() fails. Please > check later patches for the same error. > >> >> return 0; >> } >> > > > -- > Michael Haggerty > mhagger@xxxxxxxxxxxx > http://softwareswirl.blogspot.com/ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html