bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ln can't backup directories


From: Jim Meyering
Subject: Re: ln can't backup directories
Date: Fri, 11 Sep 2009 17:00:21 +0200

Bert Wesarg wrote:
> On Fri, Sep 11, 2009 at 16:15, Jim Meyering <address@hidden> wrote:
>> Bert Wesarg wrote:
>>> On Mon, Sep 7, 2009 at 18:25, Bert Wesarg <address@hidden> wrote:
>>>> Hi all,
>>>>
>>>> I'm failing in creating a symlink where the destination is a directory
>>>> and do a backup of this directory. This is what I tried:
>>>>
>>>> $ mkdir a
>>>> $ ln -s --no-target-directory --backup=numbered b a
>>>> ln: `a': cannot overwrite directory
>>>>
>>>> Looking at the code I can seen the reason, the backup rename() is
>>>> never executed, because the check whether the target is a directory
>>>> comes first.
>>>>
>>>> Any hints whether this is a bug of ln or how I can create the link
>>>> while preserving the destination as an backup are more than welcomed.
>>>>
>>>> Thanks.
>>>> Bert
>>>>
>>> Thanks to all for the release. But can someone please have a look at my 
>>> problem?
>>
>> cp and mv work the same way: even with --backup, they refuse to move
>> aside a destination directory.
>>
>> However, that's something that I've considered worth changing
>> for years.  I never got around to it.  If only for the testing
>> requirements, it will not be a trivial change, since for UI
>> consistency, it should affect all three at the same time.
>>
>> Maybe someone will volunteer to do the work.
> Maybe a simpler solution would be a new dedicated tool which just
> backups files, i.e. utilize the find_backup_file_name()/rename()
> combination and call it 'mkbck'.

We already have that ;-)
Here's a bash "function" named backup:

backup() { local i; for i in "$@"; do command cp -bf "$i" "$i"; done; }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]