Thread (78 messages) flat view 78 messages, 4 authors, 2016-06-15

Re: [PATCH v6 12/42] replace.c: use the ref transaction functions for updates

From: Ronnie Sahlberg <hidden>
Date: 2016-06-15 23:01:10

On Wed, May 14, 2014 at 5:30 PM, Jonathan Nieder [off-list ref] wrote:
Ronnie Sahlberg wrote:

[...]
quoted
+++ b/builtin/replace.c
[...]
quoted
@@ -157,11 +158,12 @@ static int replace_object(const char *object_ref, const char *replace_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)) ||
+         ref_transaction_commit(transaction, NULL, &err))
+             die(_("%s: failed to replace ref: %s"), ref, err.buf);
Same question about the !transaction case.

This makes the message translated, which is a nice change but not
mentioned in the commit message.  (Generally speaking, I don't mind
either way about adding or not adding _() to new messages in files
that have not already undergone a pass of marking everything for
translation.)
Removed the _.  This series is long enough as is so lets not start
worrying about translations too.

Same opinion about the ref_transaction_begin() case as before. I think
it will be better to just add err to it
since it is likely this will be useful for future non-file based ref backends.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help