On Thu, Jul 3, 2008 at 1:41 AM, Adam Borowski <[EMAIL PROTECTED]> wrote:
> Package: findutils
> Version: 4.4.0-2
> Severity: important
>
> The current version of "find" in unstable will invoke the command
> specified in "-execdir +" once for every file found -- as if it was
> -execdir \;.
>
> Should be:
> find -execdir echo '{}' +
> ./abc ./def ./ghi
>
> Is:
> find -execdir echo '{}' +
> ./abc
> ./def
> ./ghi
>
> The manpage documents the previous behaviour, and I found no mention
> of this change being intentional.

See http://savannah.gnu.org/bugs/?19593    It's a consequence of the
fact that -execdir needs to run any pending command before leaving a
directory, but there's no way to tell when fts() is leaving a
directory.

> It does break quite a few
> scripts,

I'm very surprised by this.   The + forms of -exec* do not guarantee
to use any particular number of command-line arguments per exec, and
AFAIK haven't ever guaranteed that.   What scripts are broken by this
restriction that didn't already have a bug?

> and for those which work, they suddenly work insanely slow.

That's a serious problem, and that's why (upstream) bug #19593 exists.
  If you would like to work on the problem, that would be great.

Thanks,
James.


Reply via email to