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