Ole Tange <[EMAIL PROTECTED]> wrote:
> On Mon, 10 Mar 2003, Jim Meyering wrote:
>
>> Knowing the bit about hard links, the increased memory footprint is
>> understandable.
>
> If this will not change in the near future may I suggest you mention this
> in the man-page in connection with the -l option?
>
>> There's probably a way to save some space in cases like yours.
>
> Correct me if I am wrong. But it seems to me that -l should never have to
> remember anything. -l can be emulated with a series of mkdir followed by a
> long serie of ln. None of the individual commands need any memory about
> what happened before.

Right, it's tempting to an exclusion for `cp --link', but that code
is still required to detect and properly diagnose pathological cases
like `cp --link dir dir/x/y/z'.  Yes, I'm the first to argue that support
for pathological cases shouldn't impact the common cases (at least not
too much), so someday I'll fix this.  I've added a note to the TODO file.
Here it is:

  copy.c: Address the FIXME-maybe comment in copy_internal.
  And once that's done, add an exclusion so that `cp --link'
  no longer incurs the overhead of saving src. dev/ino and dest. filename
  in the hash table.

And here's the comment in question:

     Also record directory dev/ino when using --recursive.  We'll use that
     info to detect this problem: cp -R dir dir.  FIXME-maybe: ideally,
     directory info would be recorded in a separate hash table, since
     such entries are useful only while a single command line hierarchy
     is being copied -- so that separate table could be cleared between
     command line args.  Using the same hash table to preserve hard
     links means that it may not be cleared.  */


_______________________________________________
Bug-fileutils mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-fileutils

Reply via email to