From 66b0d9ec14a77afae33a3bded6f0994a73b16481 Mon Sep 17 00:00:00 2001 From: Andrew Sun Date: Wed, 22 Aug 2018 17:48:39 -0400 Subject: [PATCH 1/3] Use UV_FS_COPYFILE_FICLONE flag in fs.copyFile when available --- src/util/fs-normalized.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/fs-normalized.js b/src/util/fs-normalized.js index b9cf7e5d3c..205e861b63 100644 --- a/src/util/fs-normalized.js +++ b/src/util/fs-normalized.js @@ -38,7 +38,7 @@ export const unlink: (path: string) => Promise = promisify(require('rimraf export const copyFile = async function(data: CopyFileAction, cleanup: () => mixed): Promise { try { await unlink(data.dest); - await copyFilePoly(data.src, data.dest, 0, data); + await copyFilePoly(data.src, data.dest, fs.constants.COPYFILE_FICLONE || 0, data); } finally { if (cleanup) { cleanup(); From 7390d1758cf13d7ae3590c703948f9d3770f1aec Mon Sep 17 00:00:00 2001 From: Andrew Sun Date: Wed, 22 Aug 2018 18:11:49 -0400 Subject: [PATCH 2/3] Satisfy Flow --- src/util/fs-normalized.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/fs-normalized.js b/src/util/fs-normalized.js index 205e861b63..a0c665907f 100644 --- a/src/util/fs-normalized.js +++ b/src/util/fs-normalized.js @@ -38,7 +38,7 @@ export const unlink: (path: string) => Promise = promisify(require('rimraf export const copyFile = async function(data: CopyFileAction, cleanup: () => mixed): Promise { try { await unlink(data.dest); - await copyFilePoly(data.src, data.dest, fs.constants.COPYFILE_FICLONE || 0, data); + await copyFilePoly(data.src, data.dest, (fs.constants: any).COPYFILE_FICLONE || 0, data); } finally { if (cleanup) { cleanup(); From e0afa01ad7243288d8c0f4158313083ccf37f4a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Nison?= Date: Tue, 28 Aug 2018 18:50:51 +0100 Subject: [PATCH 3/3] Update fs-normalized.js --- src/util/fs-normalized.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/util/fs-normalized.js b/src/util/fs-normalized.js index a0c665907f..b0dbd76327 100644 --- a/src/util/fs-normalized.js +++ b/src/util/fs-normalized.js @@ -36,9 +36,11 @@ export const unlink: (path: string) => Promise = promisify(require('rimraf * to force the correct naming when the filename has changed only in character-casing. (Jest -> jest). */ export const copyFile = async function(data: CopyFileAction, cleanup: () => mixed): Promise { + // $FlowFixMe: Flow doesn't currently support COPYFILE_FICLONE + const ficloneFlag = fs.constants.COPYFILE_FICLONE || 0; try { await unlink(data.dest); - await copyFilePoly(data.src, data.dest, (fs.constants: any).COPYFILE_FICLONE || 0, data); + await copyFilePoly(data.src, data.dest, ficloneFlag, data); } finally { if (cleanup) { cleanup();