Subject: Re: [PATCH 5/6] t7063: use POSIX find(1) syntax

From: Danh Doan <[email-masked]>
Date: Fri, 20 Mar 2020 08:41:42 +0700

On 2020-03-19 15:16:09-0700, Junio C Hamano <[email-masked]> wrote:
> Jeff King <[email-masked]> writes:
> 
> > On Thu, Mar 19, 2020 at 09:00:06PM +0700, Đoàn Trần Công Danh wrote:
> >
> >> Since commit 6b7728db81, (t7063: work around FreeBSD's lazy mtime
> >> update feature, 2016-08-03), we started to use ls as a trick to update
> >> directory's mtime.
> >> 
> >> However, `-ls` flag isn't required by POSIX's find(1), and
> >> busybox(1) doesn't implement it.
> >> 
> >> Use an equivalence `-exec ls -dils {} +` instead.
> >
> > Makes sense. I wonder if we need all of "-dils", but it's not clear to

>From the original commit message, I think whichever flags that call
stat(2) would be do it. It's `-d` (to check is_directory), and `-i`
for inode number.

This make make wonder, will it be enough to just use:

	find . -type d >/dev/null

> > me which syscalls actually trigger the FreeBSD lazy-update behavior. I
> > guess probably it's stat()ing the directory, so "ls -ld" would be
> > sufficient (and that's implied by the examples in 6b7728db81).
> >
> > But I doubt the extra options would create a portability problem, so I
> > think it's fine either way.
> 
> Thanks.  I too wondered if -dils is really needed (POSIX of course
> have all of them, but we have to deal with non-POSIX systems, too,
> and I am not sure how things like "-i" works there).

I think "-i" asks for stat(2) to get inode number,
which will ask FreeBSD sync mtime.
> 
> s/equivalence/equivalent/; perhaps?

Will do, I've never correctly used -ence and -ent pairs of words.

-- 
Danh