Re: [PATCH v11 23/41] refs.c: change update_ref to use a transaction

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Done.
Thanks.

On Wed, May 28, 2014 at 12:31 PM, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote:
> Ronnie Sahlberg wrote:
>
>> --- a/refs.c
>> +++ b/refs.c
>> @@ -3474,11 +3474,28 @@ int update_ref(const char *action, const char *refname,
>>              const unsigned char *sha1, const unsigned char *oldval,
>>              int flags, enum action_on_err onerr)
>>  {
>> -     struct ref_lock *lock;
>> -     lock = update_ref_lock(refname, oldval, flags, NULL, onerr);
>> -     if (!lock)
>> +     struct ref_transaction *t;
>> +     struct strbuf err = STRBUF_INIT;
>> +
>> +     t = ref_transaction_begin(&err);
>> +     if ((!t ||
>> +         ref_transaction_update(t, refname, sha1, oldval, flags,
>> +                                !!oldval, &err)) ||
>
> (style) Extra parens.
>
>> +         (ref_transaction_commit(t, action, &err) && !(t = NULL))) {
>
> No need for this assignment-in-if.
>
> With the following squashed in,
> Reviewed-by: Jonathan Nieder <jrnieder@xxxxxxxxx>
>
> diff --git i/refs.c w/refs.c
> index 568b358..fb462a3 100644
> --- i/refs.c
> +++ w/refs.c
> @@ -3474,10 +3474,10 @@ int update_ref(const char *action, const char *refname,
>         struct strbuf err = STRBUF_INIT;
>
>         t = ref_transaction_begin(&err);
> -       if ((!t ||
> +       if (!t ||
>             ref_transaction_update(t, refname, sha1, oldval, flags,
> -                                  !!oldval, &err)) ||
> -           (ref_transaction_commit(t, action, &err) && !(t = NULL))) {
> +                                  !!oldval, &err) ||
> +           ref_transaction_commit(t, action, &err)) {
>                 const char *str = "update_ref failed for ref '%s': %s";
>
>                 ref_transaction_free(t);
--
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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]