Re: [GSoC][PATCH 1/2] clone: extract function from copy_or_link_directory
- From
Matheus Tavares Bernardino <matheus.bernardino@usp.br>
- Date
- Feb 18, 2019, 21:28 UTC
- Message-ID
- <CAHd-oW7rocXECsYdFwVefD58hxoRocw=2UZBJGSPyWjDE53zXQ@mail.gmail.com>
- In-Reply-To
- <CAP8UFD1pFeV6wUPpqNHkYB_3m=HQYFssJzTSrhfsyg0p+svDgw@mail.gmail.com>
On Sat, Feb 16, 2019 at 4:23 AM Christian Couder <christian.couder@gmail.com> wrote:
Show 13 quoted lines
> > On Fri, Feb 15, 2019 at 5:39 PM Matheus Tavares > <matheus.bernardino@usp.br> wrote: > > > > Extract dir creation code snippet from copy_or_link_directory to its own > > function named mkdir_if_missing. This change will help removing > > copy_or_link_directory's explicit recursion, which will be done in patch > > "clone: use dir-iterator to avoid explicit dir traversal". > > "which will be done in a following patch" is enough and perhaps even > better as the following patch can then be changed independently of > this one. >
Ok! I will fix that in v2.
Show 38 quoted lines
> > Also makes
> > code more readable.
> >
> > Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
>
> [...]
>
> > +static void mkdir_if_missing(const char *pathname, mode_t mode)
> > +{
> > + /*
> > + * Create a dir at pathname unless there's already one.
> > + */
> > + struct stat buf;
>
> I know that the variable was already called "buf" in
> copy_or_link_directory() and that there are a few other places in the
> code where a 'struct stat' is called "buf", but in most places the
> 'struct stat' variables are called "st":
>
> $ git grep 'struct stat ' '*.c' | perl -ne 'print "$1\n" if (m/struct
> stat ([\w_]+)/);' | sort | uniq -c | sort -nr
> 129 st
> 6 sb
> 3 buf
> 2 statbuf
> 1 st_stdin
> 1 st_git
> 1 statbuffer
> 1 st2
> 1 st1
> 1 nst
> 1 loginfo
> 1 cwd_stat
> 1 argstat
>
> So I wonder if we should use "st" here instead of "buf". We also often
> use "buf" for 'struct strbuf' variables which can be confusing.
>Right! I'm changing that in v2 too.
Thanks, Matheus
> Otherwise the patch looks good to me.