Re: [PATCH 5/6] t7063: use POSIX find(1) syntax
- From
Danh Doan <congdanhqx@gmail.com>
- Date
- Mar 20, 2020, 02:20 UTC
- Message-ID
- <20200320022002.GA13597@danh.dev>
- In-Reply-To
- <20200320014142.GF1858@danh.dev>
On 2020-03-20 08:41:42+0700, Danh Doan <congdanhqx@gmail.com> wrote:
Show 23 quoted lines
> On 2020-03-19 15:16:09-0700, Junio C Hamano <gitster@pobox.com> wrote:
> > Jeff King <peff@peff.net> 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/nullFrom the conversation in: xmqqmvktakvt.fsf@gitster.mtv.corp.google.com I think
find . -type d
would trigger enough lstat(2), and `-ls` was added for separated stat(2).
I guess either `-exec ls -d` or `-exec ls -i` will be enough.
Show 18 quoted lines
> > > > 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