From f00ee1c37751abb968730476783c7ad4bcdedd79 Mon Sep 17 00:00:00 2001 From: Mathis Wiehl Date: Sat, 1 Jun 2024 00:12:16 +0200 Subject: [PATCH] fs: fix cp dir/non-dir mismatch error messages The error messages for `ERR_FS_CP_DIR_TO_NON_DIR` and `ERR_FS_CP_NON_DIR_TO_DIR` were the inverse of the copy direction actually performed. Refs: https://github.com/nodejs/node/issues/44598#issuecomment-1562522423 PR-URL: https://github.com/nodejs/node/pull/53150 Reviewed-By: Antoine du Hamel Reviewed-By: Luigi Pinca Reviewed-By: LiviaMedeiros Reviewed-By: Feng Yu --- lib/internal/errors.js | 4 ++-- lib/internal/fs/cp/cp-sync.js | 8 ++++---- lib/internal/fs/cp/cp.js | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/internal/errors.js b/lib/internal/errors.js index 47e37f5ab4a02a..101bd3a003a2b4 100644 --- a/lib/internal/errors.js +++ b/lib/internal/errors.js @@ -1209,12 +1209,12 @@ E('ERR_FEATURE_UNAVAILABLE_ON_PLATFORM', ', which is being used to run Node.js', TypeError); E('ERR_FS_CP_DIR_TO_NON_DIR', - 'Cannot overwrite directory with non-directory', SystemError); + 'Cannot overwrite non-directory with directory', SystemError); E('ERR_FS_CP_EEXIST', 'Target already exists', SystemError); E('ERR_FS_CP_EINVAL', 'Invalid src or dest', SystemError); E('ERR_FS_CP_FIFO_PIPE', 'Cannot copy a FIFO pipe', SystemError); E('ERR_FS_CP_NON_DIR_TO_DIR', - 'Cannot overwrite non-directory with directory', SystemError); + 'Cannot overwrite directory with non-directory', SystemError); E('ERR_FS_CP_SOCKET', 'Cannot copy a socket file', SystemError); E('ERR_FS_CP_SYMLINK_TO_SUBDIRECTORY', 'Cannot overwrite symlink in subdirectory of self', SystemError); diff --git a/lib/internal/fs/cp/cp-sync.js b/lib/internal/fs/cp/cp-sync.js index fe342f2dda19ec..431a72bfe1665d 100644 --- a/lib/internal/fs/cp/cp-sync.js +++ b/lib/internal/fs/cp/cp-sync.js @@ -83,8 +83,8 @@ function checkPathsSync(src, dest, opts) { } if (srcStat.isDirectory() && !destStat.isDirectory()) { throw new ERR_FS_CP_DIR_TO_NON_DIR({ - message: `cannot overwrite directory ${src} ` + - `with non-directory ${dest}`, + message: `cannot overwrite non-directory ${dest} ` + + `with directory ${src}`, path: dest, syscall: 'cp', errno: EISDIR, @@ -93,8 +93,8 @@ function checkPathsSync(src, dest, opts) { } if (!srcStat.isDirectory() && destStat.isDirectory()) { throw new ERR_FS_CP_NON_DIR_TO_DIR({ - message: `cannot overwrite non-directory ${src} ` + - `with directory ${dest}`, + message: `cannot overwrite directory ${dest} ` + + `with non-directory ${src}`, path: dest, syscall: 'cp', errno: ENOTDIR, diff --git a/lib/internal/fs/cp/cp.js b/lib/internal/fs/cp/cp.js index 130bf98ae7be4c..f59bbdb1e59e61 100644 --- a/lib/internal/fs/cp/cp.js +++ b/lib/internal/fs/cp/cp.js @@ -86,8 +86,8 @@ async function checkPaths(src, dest, opts) { } if (srcStat.isDirectory() && !destStat.isDirectory()) { throw new ERR_FS_CP_DIR_TO_NON_DIR({ - message: `cannot overwrite directory ${src} ` + - `with non-directory ${dest}`, + message: `cannot overwrite non-directory ${dest} ` + + `with directory ${src}`, path: dest, syscall: 'cp', errno: EISDIR, @@ -96,8 +96,8 @@ async function checkPaths(src, dest, opts) { } if (!srcStat.isDirectory() && destStat.isDirectory()) { throw new ERR_FS_CP_NON_DIR_TO_DIR({ - message: `cannot overwrite non-directory ${src} ` + - `with directory ${dest}`, + message: `cannot overwrite directory ${dest} ` + + `with non-directory ${src}`, path: dest, syscall: 'cp', errno: ENOTDIR,