[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: Eric Blake
Subject: Re: Conversion of GNU find to use gnulib's fts interface
Date: Fri, 05 Aug 2005 07:02:49 -0600
User-agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)

Hash: SHA1

> I'd like to enlist your help - yes yours - in testing this.  It's
> probably the most significant change made to findutils since I became
> maintainer.  I need hardly say that testing is very important indeed,
> as a small mistake here could affect a large number of people (as I
> recently found out when in a well-intentioned but unwise episode in
> which I changed the choice of find's regexp syntax from Emacs to
> posix-basic).

I tried this on cygwin, and the first thing I noticed was that CVS has
files with case conflicts:
cvs checkout: move away findutils/debian/changelog; it is in the way
cvs checkout: move away findutils/xargs/testsuite/inputs/eof.xi; it is in
the way
cvs checkout: move away findutils/xargs/testsuite/xargs.posix/l2.exp; it
is in the way
cvs checkout: move away findutils/xargs/testsuite/xargs.posix/l2.xo; it is
in the way

This is important on case-insensitive, case-preserving systems like
cygwin.  For that matter, findutils/debian/Changelog is not the usual case
of ChangeLog.

Next, I had to apply my patches, per Savannah bug 14025.

But after that, the fts branch partially solves a long-term bug I had
noticed on cygwin's virtual directories!  The problem is that on cygwin,
even though registry directories have permissions 550, cygwin's virtual
file system does not (yet) support open() on such a directory, failing
with EISDIR.  fts can traverse this structure, but find's original
traversal refused (if it can't open() the directory, it assumes the
directory might disappear behind its back during subdirectory traversal,
so refuses to traverse that directory).  However, I am not sure why the
leaf files are reporting an error in find, when they listed just fine with ls.

$ pwd
$ ls -RF
ContextMenuHandlers/  PropertySheetHandlers/

Offline Files/  Open With EncryptionMenu/
Open With/      {a2a9545d-a0c2-42b4-9708-a0b2badd77c8}/

./ContextMenuHandlers/Offline Files:

./ContextMenuHandlers/Open With:

./ContextMenuHandlers/Open With EncryptionMenu:






$ find --version
GNU find version 4.2.24
$ find .
find: ./ContextMenuHandlers: Is a directory
find: ./PropertySheetHandlers: Is a directory

$ ~/findutils/find/find.exe --version
GNU find version 4.3.0-CVSFTS
$ ~/findutils/find/find.exe .
./ContextMenuHandlers/Offline Files
/home/eblake/findutils/find/find: ./ContextMenuHandlers/Offline Files/@:
No such file or directory
./ContextMenuHandlers/Open With
/home/eblake/findutils/find/find: ./ContextMenuHandlers/Open With/@: No
such file or directory
./ContextMenuHandlers/Open With EncryptionMenu
/home/eblake/findutils/find/find: ./ContextMenuHandlers/Open With
/@: No such file or directory
./ContextMenuHandlers/{a2a9545d-a0c2-42b4-9708-a0b2badd77c8}/@: No such
file or directory
./PropertySheetHandlers/CryptoSignMenu/@: No such file or directory
./PropertySheetHandlers/{883373C3-BF89-11D1-BE35-080036B11A03}/@: No such
file or directory

- --
Life is short - so eat dessert first!

Eric Blake             address@hidden
Version: GnuPG v1.4.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org


reply via email to

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