Subject: bug#15727: Bug: cp <-a|-archive> (w/<-f|--remove-destination>) breaks if one of files is a dir and other not

From: Bernhard Voelker <[email-masked]>
Date: Tue, 29 Oct 2013 12:24:59 +0100 (CET)

> On October 28, 2013 at 11:05 PM Linda Walsh <[email-masked]> wrote:
> On 10/28/2013 1:56 PM, Bernhard Voelker wrote:
>> [...]  Tools like rsync may be better for such a scenario
>> than cp(1) which is made primarily to

> [...]  As for 'rsync', it's speed is *comparatively* abysmal
> for local-to-local copies.

So why not enhance rsync regarding performance?

>  For that matter, 'cp' could _relearn_ a thing
> or two from 'dd' when it comes to speed.

IMO no: this would add further bloat to the sources
which in turn is harder to maintain.  Ever looked at
copy.c, e.g. at copy_internal()?
http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/copy.c#n1598

>  Used to be that cp was nearly as
> fast as 'dd', but now that often doesn't seem to be the case.

hmm, well, could it be that this is because many features have
been added over the years? ...

I think rm is simply not the right tool for such kind
of synchronization.

Have a nice day,
Berny