Re: [PATCH v8 13/44] tag.c: use ref transactions when doing updates

2014-05-15 Thread Jonathan Nieder
Ronnie Sahlberg wrote:

 --- a/builtin/tag.c
 +++ b/builtin/tag.c
 @@ -701,11 +702,12 @@ int cmd_tag(int argc, const char **argv, const char 
 *prefix)
   if (annotate)
   create_tag(object, tag, buf, opt, prev, object);
  
 - lock = lock_any_ref_for_update(ref.buf, prev, 0, NULL);
 - if (!lock)
 - die(_(%s: cannot lock the ref), ref.buf);
 - if (write_ref_sha1(lock, object, NULL)  0)
 - die(_(%s: cannot update the ref), ref.buf);
 + transaction = ref_transaction_begin();
 + if (!transaction ||
 + ref_transaction_update(transaction, ref.buf, object, prev,
 +0, !is_null_sha1(prev)) ||
 + ref_transaction_commit(transaction, NULL, err))
 + die(_(%s: cannot update the ref: %s), ref.buf, err.buf);

The error string says what ref it was trying to update, so

die(%s, err.buf);

should be enough.  (E.g.,

fatal: refs/tags/v1.0: cannot lock the ref

would become

fatal: Cannot lock the ref 'refs/tags/v1.0'.

instead of

fatal: refs/tags/v1.0: cannot update the ref: Cannot lock the ref 
'refs/tags/v1.0'.

.)

Thanks,
Jonathan
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v8 13/44] tag.c: use ref transactions when doing updates

2014-05-15 Thread Ronnie Sahlberg
On Thu, May 15, 2014 at 2:11 PM, Jonathan Nieder jrnie...@gmail.com wrote:
 Ronnie Sahlberg wrote:

 --- a/builtin/tag.c
 +++ b/builtin/tag.c
 @@ -701,11 +702,12 @@ int cmd_tag(int argc, const char **argv, const char 
 *prefix)
   if (annotate)
   create_tag(object, tag, buf, opt, prev, object);

 - lock = lock_any_ref_for_update(ref.buf, prev, 0, NULL);
 - if (!lock)
 - die(_(%s: cannot lock the ref), ref.buf);
 - if (write_ref_sha1(lock, object, NULL)  0)
 - die(_(%s: cannot update the ref), ref.buf);
 + transaction = ref_transaction_begin();
 + if (!transaction ||
 + ref_transaction_update(transaction, ref.buf, object, prev,
 +0, !is_null_sha1(prev)) ||
 + ref_transaction_commit(transaction, NULL, err))
 + die(_(%s: cannot update the ref: %s), ref.buf, err.buf);

 The error string says what ref it was trying to update, so

 die(%s, err.buf);

 should be enough.  (E.g.,

 fatal: refs/tags/v1.0: cannot lock the ref

 would become

 fatal: Cannot lock the ref 'refs/tags/v1.0'.

 instead of

 fatal: refs/tags/v1.0: cannot update the ref: Cannot lock the ref 
 'refs/tags/v1.0'.

 .)


Done.

Thanks!
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html