|
From: | Pádraig Brady |
Subject: | bug#23120: cp with --dereference (-L) and --link (-l) or --symbolic-link (-s) |
Date: | Sat, 26 Mar 2016 17:26:36 +0000 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
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.
[Prev in Thread] | Current Thread | [Next in Thread] |