GNU bug report logs - #23120
cp with --dereference (-L) and --link (-l) or --symbolic-link (-s)

Previous Next

Package: coreutils;

Reported by: Petr Skočík <pskocik <at> gmail.com>

Date: Sat, 26 Mar 2016 13:55:01 UTC

Severity: normal

Tags: fixed

Merged with 15173

Done: Assaf Gordon <assafgordon <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 23120 <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: Petr Skočík <pskocik <at> gmail.com>, 23120 <at> debbugs.gnu.org
Subject: Re: bug#23120: cp with --dereference (-L) and --link (-l) or
 --symbolic-link (-s)
Date: Sat, 26 Mar 2016 17:26:36 +0000
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.





This bug report was last modified 6 years and 266 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.