[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Conversion of GNU find to use gnulib's fts interface
From: |
James Youngman |
Subject: |
Re: Conversion of GNU find to use gnulib's fts interface |
Date: |
Sun, 31 Jul 2005 12:26:57 +0100 |
User-agent: |
Mutt/1.5.9i |
On Sun, Jul 31, 2005 at 10:56:41AM +0200, Jim Meyering wrote:
> James Youngman <address@hidden> wrote:
> > I have made a CVS branch and modified findutils to use fts also. This
>
> Great! Thank you for doing that!
> I'll certainly switch to that version for my personal use.
> In working on coreutils, sometimes I've wanted to use
> find on pathologically deep hierarchies. Now, I can.
Well, maybe you can :) But if you can't, I will try to fix the bugs.
In particular, things like the following should work:
# Trim hierarchy to only 750,000 levels
find deep -mindepth 750000 -delete
# Generate timestamp files in a deeply nested tree.
# We use -execdir because -exec would not be able to
# process the long filenames due to execve() limits.
find deep -type d -execdir touch -r {} timestamp \;
# Use regular expressions to locate a point in a deep
# hierarchy. The actual numbers of levels here should
# be small enough to work with findutils 4.2.24 anyway.
rm -rf tmp
mkdir -p $(perl -e 'print "tmp" . "/a/b" x 40')
find tmp -regextype posix-extended -regex 'tmp(/a/b){20}$' \
-execdir touch label \;
# Since -delete implies -depth, use -maxdepth to limit
# size of search for the sake of efficiency
find tmp -maxdepth 22 -name label -print -delete
I've just spent a few hours adding some more test cases to the test
suite for "find". They didn't find any bugs in the fts version of
find, but they don't intensively investigate how find interacts with
the filesystem, just the result of doing so.
Regards,
James.