Subject: bug#33573: Patch to replace symlinks with files

From: Karl Berry <[email-masked]>
Date: Sun, 1 Jan 2023 16:02:23 -0700

FWIW, as a user I think this is the expected behavior. The option is 
    named --add-missing, so if the file is not missing, I expect nothing to 
    happen.

I more or less agree, but the original suggestion from Ben
(https://debbugs.gnu.org/cgi/bugreport.cgi?bug=33573) was for
--add-missing --copy to overwrite existing symlinks with files, because
of the --copy. So the current behavior of silently ignoring existing
entries doesn't suit everyone. But I don't think silently overwriting
symlinks is right either.

I can see that specifying both --add-missing and --copy leaves it rather
indeterminate what should happen with existing symlinks. In practice, I
doubt people would want to end up with some symlinks and some files for
the "missing" list of files, which is what would generally happen now.

Hence my idea of simply reporting the situation (not failing, just
warning), and if they want to overwrite symlinks with files, also use
--force.

It occurs to me that, in the analogous situation from the other side,
when --add-missing is given without --copy, one could argue that a
warning should equally be given if a file (not symlink) exists. But
somehow that feels like a step too far, although I can't think of a real
argument against it. --best, karl.