From 6a16ef22f96eddb4e112b6430d230bad47fc47ab Mon Sep 17 00:00:00 2001 From: DudaGod Date: Fri, 30 Oct 2020 13:39:15 +0300 Subject: [PATCH 1/2] fix(merge): set "maxBuffer=Infinity" for "git merge-file" to prevent enobufs --- index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 8c07188..e1a7411 100755 --- a/index.js +++ b/index.js @@ -196,7 +196,8 @@ function merge (argv) { 'git', ['merge-file', '-p', argv['%A'], argv['%O'], argv['%B']], { - stdio: [0, 'pipe', 2] + stdio: [0, 'pipe', 2], + maxBuffer: Infinity } ) fs.writeFileSync(argv['%P'], ret.stdout) From a6c7b27cec39e1c06f35bd94c7c7ef191488c002 Mon Sep 17 00:00:00 2001 From: DudaGod Date: Fri, 30 Oct 2020 13:41:33 +0300 Subject: [PATCH 2/2] fix(merge): handle error from child process with "git merge-file" --- index.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/index.js b/index.js index e1a7411..80cff2a 100755 --- a/index.js +++ b/index.js @@ -200,6 +200,12 @@ function merge (argv) { maxBuffer: Infinity } ) + + if (ret.error) { + console.error('npm-merge-driver: "git merge-file" fails with:', ret.error) + throw ret.error + } + fs.writeFileSync(argv['%P'], ret.stdout) try { cp.execSync(argv.command, {