bug-findutils
[Top][All Lists]
Advanced

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]