mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-07-26 02:30:35 +02:00
(copy_internal): Don't apply the umask in move_mode.
Otherwise, `mv' would not preserve the permissions when copying between partitions. Reported by David Godfrey
This commit is contained in:
+7
-1
@@ -896,7 +896,13 @@ copy_internal (const char *src_path, const char *dst_path,
|
||||
else if ((x->preserve_chmod_bits || new_dst)
|
||||
&& (x->copy_as_regular || S_ISREG (src_type) || S_ISDIR (src_type)))
|
||||
{
|
||||
if (chmod (dst_path, src_mode & x->umask_kill))
|
||||
mode_t dst_mode = src_mode;
|
||||
|
||||
/* Honor the umask for `cp', but not for `mv'. */
|
||||
if (!x->move_mode)
|
||||
dst_mode &= x->umask_kill;
|
||||
|
||||
if (chmod (dst_path, dst_mode))
|
||||
{
|
||||
error (0, errno, _("preserving permissions for %s"), dst_path);
|
||||
if (x->require_preserve)
|
||||
|
||||
Reference in New Issue
Block a user