unarchive 15173
stop

On 26/03/16 10:36, Petr Skočík wrote:
Hi,

I'm on a system with cp 8.21, and when I do `cp -Ll` or `cp -Ls` on a
symlink, it hardlinks (-Ll) or symlinks (-Ls) the symlink instead of the
target of the symlink.

It behaves the same on single files and trees (with `-r`).

I think the logical thing to do would be for to `cp` to symlink or
hardlink the symlink target in these cases.

What do you think?

Best regards,
Petr.

(
My particular use case is that I'd like to turn a part of an augmented
tree of symlinks (created with `cp -s` + additional file creation on top
of that) into a tree of hardlinks to the sources.
)

The -Ll hardlink case was fixed in 8.22 with a bit of
an epic discussion in http://bugs.gnu.org/15173

The -Ls symlink case currently just symlinks the source symlink.
To link the target you'd have to do similar processing to that
done in `ln -r` and `realpath ...`.  I've not thought about it
enough to know if it was a good idea to add to cp.
There may be enough options for symlink handling to keep
those options in separate tools like discussed in the
--relative option description in the ln manual:
http://www.gnu.org/software/coreutils/ln

cheers,
Pádraig.




Reply via email to