Re: [PATCH v4 15/23] attr: remove index from git_attr_set_direction()

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

 



On Wed, Jun 6, 2018 at 10:02 AM, Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> wrote:
> Since attr checking API now take the index, there's no need to set an
> index in advance with this call. Most call sites are straightforward
> because they either pass the_index or NULL (which defaults back to
> the_index previously). There's only one suspicious call site in
> unpack-trees.c where it sets a different index.
>
> This code in unpack-trees is about to checking out entries from the

minor nit: s/checking/check/ ?

...

> diff --git a/attr.c b/attr.c
> index 863fad3bd1..98e4953f6e 100644
> --- a/attr.c
> +++ b/attr.c
> @@ -708,10 +708,8 @@ static struct attr_stack *read_attr_from_array(const char **list)
>   * another thread could potentially be calling into the attribute system.
>   */
>  static enum git_attr_direction direction;
> -static const struct index_state *use_index;
>
> -void git_attr_set_direction(enum git_attr_direction new_direction,
> -                           const struct index_state *istate)
> +void git_attr_set_direction(enum git_attr_direction new_direction)
>  {
>         if (is_bare_repository() && new_direction != GIT_ATTR_INDEX)
>                 BUG("non-INDEX attr direction in a bare repo");
> @@ -720,7 +718,6 @@ void git_attr_set_direction(enum git_attr_direction new_direction,
>                 drop_all_attr_stacks();
>
>         direction = new_direction;
> -       use_index = istate;
>  }
>
>  static struct attr_stack *read_attr_from_file(const char *path, int macro_ok)
> @@ -750,17 +747,11 @@ static struct attr_stack *read_attr_from_index(const struct index_state *istate,
>         struct attr_stack *res;
>         char *buf, *sp;
>         int lineno = 0;
> -       const struct index_state *to_read_from;
>
> -       /*
> -        * Temporary workaround for c24f3abace (apply: file commited
> -        * with CRLF should roundtrip diff and apply - 2017-08-19)
> -        */
> -       to_read_from = use_index ? use_index : istate;
> -       if (!to_read_from)
> +       if (!istate)
>                 return NULL;
>
> -       buf = read_blob_data_from_index(to_read_from, path, NULL);
> +       buf = read_blob_data_from_index(istate, path, NULL);

This code is much clearer and easier to reason about than stashing off
use_index.  I had to dig for a bit through history to try to
understand the old code and why it was written that way, but the new
code just makes sense.




[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]

  Powered by Linux