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: Bert Wesarg
Subject: Re: ln can't backup directories
Date: Fri, 11 Sep 2009 17:05:50 +0200

On Fri, Sep 11, 2009 at 17:00, Jim Meyering <address@hidden> wrote:
> 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; }
Which still does not work for directories?

Bert
>




reply via email to

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