Subject: Re: bug#10282: change in behavior of du with multiple arguments (commit efe53cc)

From: Kamil Dudka <[email-masked]>
Date: Tue, 13 Dec 2011 17:46:05 +0100

On Tuesday 13 December 2011 08:09:08 Jim Meyering wrote:
> Paul Eggert wrote:
> > On 12/12/11 14:58, Eric Blake wrote:
> >> "Files with multiple links shall be counted and written for only one
> >> entry. The directory entry that is selected in the report is
> >> unspecified."
> >
> > Yes, that's partly what motivates the current GNU du behavior:
> > the idea is to implement this notion consistently (historical
> > 'du' implementations do not).
> >
> >> But even historically, command line arguments were always listed, even
> >> if they are otherwise multiple links.
> >
> > I suppose we could change GNU 'du' to output "0 X" for a command-line
> > argument X that's already been seen.
> 
> This seems sensible.
> 
> > This wouldn't address the problem
> > perceived by the original poster, though.  And it's a glitch from the
> > point of view of consistency.
> 
> I agree that printing "0 X" for these seems inconsistent with the
> elision mandated for the second and subsequent encounter of a file,
> but I suppose command line arguments are intrinsically different
> enough that handling them specially makes sense.  Maybe even as
> the default.
> 
> > Perhaps 'du' needs a new option to control what to do with
> > files that 'du' has already seen before. something that
> > generalizes --count-links.
> 
> That sounds like a good way to do it.
> Anyone interested?

Thank all of you for looking at the issue.  If I understand it correctly, the 
old behavior was violating POSIX whereas the current default behavior is 
correct.  I tried du --count-links with the original reproducer and it seemed 
to work fine.  So what would be the point in adding a new option?

Kamil