Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error message from git-node v8 backport is less helpful than in node-core-utils@3.4.0 #804

Open
richardlau opened this issue May 1, 2024 · 4 comments

Comments

@richardlau
Copy link
Member

Attempted to backport a commit that doesn't exist yet.

With node-core-utils@3.4.0:

$ npx --package=node-core-utils@3.4.0 -- git-node v8 backport df5724c11697b4fbe803adcb5a51020dea2d923f
Need to install the following packages:
node-core-utils@3.4.0
Ok to proceed? (y) y
npm WARN deprecated node-core-utils@3.4.0: This package has been renamed to @node-core/utils
(node:1406084) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
✔ Update local V8 clone
⠦ V8 commit backport
fatal: ambiguous argument 'df5724c11697b4fbe803adcb5a51020dea2d923f
^..df5724c11697b4fbe803adcb5a51020dea2d923f
': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
fatal: ambiguous argument 'df5724c11697b4fbe803adcb5a51020dea2d923f
': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
$

With @node-core/utils@5.0.1:

$ npx --package=@node-core/utils@latest -- git-node v8 backport df5724c11697b4fbe803adcb5a51020dea2d923f
Need to install the following packages:
@node-core/utils@5.0.1
Ok to proceed? (y) y
✔ Update local V8 cloneV8 commit backport
  ✔ Get current V8 version
  ✔ Generate patches
  ❯ Apply and commit patches to deps/v8
    ❯ Commit df5724c11697
      ✔ Apply patch
      ✔ Increment embedder version number
      ✖ Cannot read properties of undefined (reading 'replace')
✖ Cannot read properties of undefined (reading 'replace')
$

The error from the older version is a lot more indicative of what the actual problem is.

@richardlau richardlau changed the title Error message from git-node v8 backport is less helpful that in node-core-utils@3.4.0 Error message from git-node v8 backport is less helpful than in node-core-utils@3.4.0 May 1, 2024
@targos
Copy link
Member

targos commented May 1, 2024

It looks like the expected error doesn't happen anymore, or is somehow swallowed.

@richardlau
Copy link
Member Author

richardlau commented May 1, 2024

I guess maybe being swallowed?

$ NCU_VERBOSITY=debug npx --package=@node-core/utils@latest -- git-node v8 backport df5724c11697b4fbe803adcb5a51020dea2d923f
✔ Update local V8 cloneV8 commit backport
  ✔ Get current V8 version
  ✔ Generate patches
  ❯ Apply and commit patches to deps/v8
    ❯ Commit df5724c11697
      ✔ Apply patch
      ✔ Increment embedder version number
      ✖ Cannot read properties of undefined (reading 'replace')


[DEBUG] [Spawn] git fetch origin { cwd: '/home/rlau/.update-v8/v8', stdio: 'ignore' }

[DEBUG] [Spawn] git rev-parse df5724c11697b4fbe803adcb5a51020dea2d923f {
  cwd: '/home/rlau/.update-v8/v8',
  stdio: [ 'ignore', 'pipe', 'ignore' ]
}

[DEBUG] [Spawn] git format-patch --stdout df5724c11697b4fbe803adcb5a51020dea2d923f^..df5724c11697b4fbe803adcb5a51020dea2d923f {
  cwd: '/home/rlau/.update-v8/v8',
  stdio: [ 'ignore', 'pipe', 'ignore' ]
}

[DEBUG] [Spawn] git log --format=%B -n 1 df5724c11697b4fbe803adcb5a51020dea2d923f {
  cwd: '/home/rlau/.update-v8/v8',
  stdio: [ 'ignore', 'pipe', 'ignore' ]
}

[DEBUG] [Spawn] git apply -p1 --3way --directory=deps/v8 { cwd: '/home/rlau/sandbox/github/node', stdio: 'ignore' }

[DEBUG] [Spawn] git add common.gypi { cwd: '/home/rlau/sandbox/github/node', stdio: 'ignore' }
✖ Cannot read properties of undefined (reading 'replace')
$

The git format-patch command should fail (with error message matching that from node-core-utils@3.4.0):

$ pwd
/home/rlau/.update-v8/v8
$ git format-patch --stdout df5724c11697b4fbe803adcb5a51020dea2d923f^..df5724c11697b4fbe803adcb5a51020dea2d923f
fatal: ambiguous argument 'df5724c11697b4fbe803adcb5a51020dea2d923f^..df5724c11697b4fbe803adcb5a51020dea2d923f': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
$ echo $?
128
$

I couldn't seem to get NCU_VERBOSITY to output any extra info with node-core-utils@3.4.0.
I tried with this patch:

diff --git a/components/git/v8.js b/components/git/v8.js
index 05e49a2..1cc9574 100644
--- a/components/git/v8.js
+++ b/components/git/v8.js
@@ -92,7 +92,7 @@ export function handler(argv) {
   options.execGitV8 = function execGitV8(...args) {
     return forceRunAsync('git', args, {
       captureStdout: true,
-      spawnArgs: { cwd: options.v8Dir, stdio: ['ignore', 'pipe', 'ignore'] }
+      spawnArgs: { cwd: options.v8Dir, stdio: ['ignore', 'pipe', 'inherit'] }
     });
   };

but this still doesn't capture the error (note the debug output shows that inherit is being used):

$ NCU_VERBOSITY=debug node /home/rlau/sandbox/github/node-core-utils/bin/git-node.js v8 backport df5724c11697b4fbe803adcb5a51020dea2d923f
✔ Update local V8 clone
⠴ V8 commit backport
fatal: ambiguous argument 'df5724c11697b4fbe803adcb5a51020dea2d923f^..df5724c11697b4fbe803adcb5a51020dea2d923f': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
✔ Update local V8 cloneV8 commit backport
  ✔ Get current V8 version
  ✔ Generate patches
  ❯ Apply and commit patches to deps/v8
    ❯ Commit df5724c11697
      ✔ Apply patch
      ✔ Increment embedder version number
      ✖ Cannot read properties of undefined (reading 'replace')


[DEBUG] [Spawn] git fetch origin { cwd: '/home/rlau/.update-v8/v8', stdio: 'ignore' }

[DEBUG] [Spawn] git rev-parse df5724c11697b4fbe803adcb5a51020dea2d923f {
  cwd: '/home/rlau/.update-v8/v8',
  stdio: [ 'ignore', 'pipe', 'inherit' ]
}

[DEBUG] [Spawn] git format-patch --stdout df5724c11697b4fbe803adcb5a51020dea2d923f^..df5724c11697b4fbe803adcb5a51020dea2d923f {
  cwd: '/home/rlau/.update-v8/v8',
  stdio: [ 'ignore', 'pipe', 'inherit' ]
}

[DEBUG] [Spawn] git log --format=%B -n 1 df5724c11697b4fbe803adcb5a51020dea2d923f {
  cwd: '/home/rlau/.update-v8/v8',
  stdio: [ 'ignore', 'pipe', 'inherit' ]
}

[DEBUG] [Spawn] git apply -p1 --3way --directory=deps/v8 { cwd: '/home/rlau/sandbox/github/node', stdio: 'ignore' }

[DEBUG] [Spawn] git add common.gypi { cwd: '/home/rlau/sandbox/github/node', stdio: 'ignore' }
✖ Cannot read properties of undefined (reading 'replace')
$

@richardlau
Copy link
Member Author

Neither does changing to pipe:

diff --git a/components/git/v8.js b/components/git/v8.js
index 05e49a2..95b5898 100644
--- a/components/git/v8.js
+++ b/components/git/v8.js
@@ -92,7 +92,7 @@ export function handler(argv) {
   options.execGitV8 = function execGitV8(...args) {
     return forceRunAsync('git', args, {
       captureStdout: true,
-      spawnArgs: { cwd: options.v8Dir, stdio: ['ignore', 'pipe', 'ignore'] }
+      spawnArgs: { cwd: options.v8Dir, stdio: ['ignore', 'pipe', 'pipe'] }
     });
   };
$ NCU_VERBOSITY=debug node /home/rlau/sandbox/github/node-core-utils/bin/git-node.js v8 backport df5724c11697b4fbe803adcb5a51020dea2d923f
✔ Update local V8 cloneV8 commit backport
  ✔ Get current V8 version
  ✔ Generate patches
  ❯ Apply and commit patches to deps/v8
    ❯ Commit df5724c11697
      ✔ Apply patch
      ✔ Increment embedder version number
      ✖ Cannot read properties of undefined (reading 'replace')


[DEBUG] [Spawn] git fetch origin { cwd: '/home/rlau/.update-v8/v8', stdio: 'ignore' }

[DEBUG] [Spawn] git rev-parse df5724c11697b4fbe803adcb5a51020dea2d923f {
  cwd: '/home/rlau/.update-v8/v8',
  stdio: [ 'ignore', 'pipe', 'pipe' ]
}

[DEBUG] [Spawn] git format-patch --stdout df5724c11697b4fbe803adcb5a51020dea2d923f^..df5724c11697b4fbe803adcb5a51020dea2d923f {
  cwd: '/home/rlau/.update-v8/v8',
  stdio: [ 'ignore', 'pipe', 'pipe' ]
}

[DEBUG] [Spawn] git log --format=%B -n 1 df5724c11697b4fbe803adcb5a51020dea2d923f {
  cwd: '/home/rlau/.update-v8/v8',
  stdio: [ 'ignore', 'pipe', 'pipe' ]
}

[DEBUG] [Spawn] git apply -p1 --3way --directory=deps/v8 { cwd: '/home/rlau/sandbox/github/node', stdio: 'ignore' }

[DEBUG] [Spawn] git add common.gypi { cwd: '/home/rlau/sandbox/github/node', stdio: 'ignore' }
✖ Cannot read properties of undefined (reading 'replace')
$

@targos
Copy link
Member

targos commented May 12, 2024

#809 may help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants