ember-cli-update icon indicating copy to clipboard operation
ember-cli-update copied to clipboard

commit pinned ember-cli version fails

Open eg271 opened this issue 6 years ago • 4 comments

On Windows 10, in an existing Ember project folder with git and clean working tree:

C:\Users\edgra\Projects\ember-ide2> ember-cli-update --to 3.12.0
{ Error: Command failed: git --git-dir="C:\Users\edgra\AppData\Local\Temp\tmp-123884j8DXapZNftr\.git" rev-parse vnull
fatal: ambiguous argument 'vnull': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:925:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
  killed: false,
  code: 128,
  signal: null,
  cmd: 'git --git-dir="C:\\Users\\edgra\\AppData\\Local\\Temp\\tmp-123884j8DXapZNftr\\.git" rev-parse vnull',
  stdout: 'vnull\n',
  stderr: 'fatal: ambiguous argument \'vnull\': unknown revision or path not in the working tree.\nUse \'--\' to separate paths from revisions, like this:\n\'git <command> [<revision>...] -- [<file>...]\'\n' }

eg271 avatar Sep 04 '19 14:09 eg271

I just tried on Win with no problems. Can you provide more info? The issue template when you filed should have given you instructions.

kellyselden avatar Sep 05 '19 17:09 kellyselden

Bumped into the same problem. Hope this helps:

  • OSX 10.14.6
  • Installed globally via:
volta install ember-cli-update
  • Fails with random version down to 0.34.x - seems like not an issue directly in the code?
❯ volta --version
0.6.3
❯ git --version
git version 2.20.1 (Apple Git-117)
❯ node --version
v10.16.3
❯ DEBUG=ember-cli-update,boilerplate-update,git-diff-apply ember-cli-update --to v3.13.2
  git-diff-apply npm view ember-cli versions --json +0ms
  git-diff-apply [
  git-diff-apply   "0.0.0",
  git-diff-apply   "0.0.1",
  git-diff-apply   "0.0.2",
  git-diff-apply   "0.0.3",
  git-diff-apply   "0.0.4",
  git-diff-apply   "0.0.5",
  git-diff-apply   "0.0.6",
  git-diff-apply   "0.0.7",
  git-diff-apply   "0.0.8",
  git-diff-apply   "0.0.9",
  git-diff-apply   "0.0.10",
  git-diff-apply   "0.0.11",
  git-diff-apply   "0.0.12",
  git-diff-apply   "0.0.13",
  git-diff-apply   "0.0.14",
  git-diff-apply   "0.0.15",
  git-diff-apply   "0.0.16",
  git-diff-apply   "0.0.18",
  git-diff-apply   "0.0.19",
  git-diff-apply   "0.0.20",
  git-diff-apply   "0.0.21",
  git-diff-apply   "0.0.22",
  git-diff-apply   "0.0.23",
  git-diff-apply   "0.0.24",
  git-diff-apply   "0.0.25",
  git-diff-apply   "0.0.27",
  git-diff-apply   "0.0.28",
  git-diff-apply   "0.0.29",
  git-diff-apply   "0.0.32",
  git-diff-apply   "0.0.33",
  git-diff-apply   "0.0.34",
  git-diff-apply   "0.0.35",
  git-diff-apply   "0.0.36",
  git-diff-apply   "0.0.37",
  git-diff-apply   "0.0.38",
  git-diff-apply   "0.0.39",
  git-diff-apply   "0.0.40",
  git-diff-apply   "0.0.41",
  git-diff-apply   "0.0.42",
  git-diff-apply   "0.0.43",
  git-diff-apply   "0.0.44",
  git-diff-apply   "0.0.45",
  git-diff-apply   "0.0.46",
  git-diff-apply   "0.0.47",
  git-diff-apply   "0.1.0",
  git-diff-apply   "0.1.1",
  git-diff-apply   "0.1.2",
  git-diff-apply   "0.1.3",
  git-diff-apply   "0.1.4",
  git-diff-apply   "0.1.5",
  git-diff-apply   "0.1.6",
  git-diff-apply   "0.1.7",
  git-diff-apply   "0.1.8",
  git-diff-apply   "0.1.9",
  git-diff-apply   "0.1.10",
  git-diff-apply   "0.1.11",
  git-diff-apply   "0.1.12",
  git-diff-apply   "0.1.13",
  git-diff-apply   "0.1.14",
  git-diff-apply   "0.1.15",
  git-diff-apply   "0.2.0-beta.1",
  git-diff-apply   "0.2.0",
  git-diff-apply   "0.2.1",
  git-diff-apply   "0.2.2",
  git-diff-apply   "0.2.3",
  git-diff-apply   "0.2.4",
  git-diff-apply   "0.2.5",
  git-diff-apply   "0.2.6",
  git-diff-apply   "0.2.7",
  git-diff-apply   "1.13.0",
  git-diff-apply   "1.13.1",
  git-diff-apply   "1.13.5",
  git-diff-apply   "1.13.6",
  git-diff-apply   "1.13.7",
  git-diff-apply   "1.13.8",
  git-diff-apply   "1.13.9",
  git-diff-apply   "1.13.10",
  git-diff-apply   "1.13.11",
  git-diff-apply   "1.13.12",
  git-diff-apply   "1.13.13",
  git-diff-apply   "1.13.14",
  git-diff-apply   "1.13.15",
  git-diff-apply   "2.2.0-beta.1",
  git-diff-apply   "2.2.0-beta.2",
  git-diff-apply   "2.2.0-beta.3",
  git-diff-apply   "2.2.0-beta.4",
  git-diff-apply   "2.2.0-beta.5",
  git-diff-apply   "2.2.0-beta.6",
  git-diff-apply   "2.3.0-beta.1",
  git-diff-apply   "2.3.0-beta.2",
  git-diff-apply   "2.3.0",
  git-diff-apply   "2.4.0",
  git-diff-apply   "2.4.1",
  git-diff-apply   "2.4.2",
  git-diff-apply   "2.4.3",
  git-diff-apply   "2.5.0",
  git-diff-apply   "2.5.1",
  git-diff-apply   "2.6.0-beta.1",
  git-diff-apply   "2.6.0-beta.2",
  git-diff-apply   "2.6.0-beta.3",
  git-diff-apply   "2.6.0",
  git-diff-apply   "2.6.1",
  git-diff-apply   "2.6.2",
  git-diff-apply   "2.6.3",
  git-diff-apply   "2.7.0-beta.1",
  git-diff-apply   "2.7.0-beta.2",
  git-diff-apply   "2.7.0-beta.3",
  git-diff-apply   "2.7.0-beta.4",
  git-diff-apply   "2.7.0-beta.5",
  git-diff-apply   "2.7.0-beta.6",
  git-diff-apply   "2.7.0",
  git-diff-apply   "2.8.0-beta.1",
  git-diff-apply   "2.8.0-beta.2",
  git-diff-apply   "2.8.0-beta.3",
  git-diff-apply   "2.8.0",
  git-diff-apply   "2.9.0-beta.1",
  git-diff-apply   "2.9.0-beta.2",
  git-diff-apply   "2.9.0",
  git-diff-apply   "2.9.1",
  git-diff-apply   "2.10.0-beta.1",
  git-diff-apply   "2.10.0-beta.2",
  git-diff-apply   "2.10.0",
  git-diff-apply   "2.10.1",
  git-diff-apply   "2.11.0-beta.1",
  git-diff-apply   "2.11.0-beta.2",
  git-diff-apply   "2.11.0",
  git-diff-apply   "2.11.1",
  git-diff-apply   "2.12.0-beta.1",
  git-diff-apply   "2.12.0-beta.2",
  git-diff-apply   "2.12.0",
  git-diff-apply   "2.12.1",
  git-diff-apply   "2.12.2",
  git-diff-apply   "2.12.3",
  git-diff-apply   "2.13.0-beta.1",
  git-diff-apply   "2.13.0-beta.2",
  git-diff-apply   "2.13.0-beta.3",
  git-diff-apply   "2.13.0-beta.4",
  git-diff-apply   "2.13.0",
  git-diff-apply   "2.13.1",
  git-diff-apply   "2.13.2",
  git-diff-apply   "2.13.3",
  git-diff-apply   "2.14.0-beta.1",
  git-diff-apply   "2.14.0-beta.2",
  git-diff-apply   "2.14.0",
  git-diff-apply   "2.14.1",
  git-diff-apply   "2.14.2",
  git-diff-apply   "2.15.0-beta.1",
  git-diff-apply   "2.15.0-beta.2",
  git-diff-apply   "2.15.0",
  git-diff-apply   "2.15.1",
  git-diff-apply   "2.16.0-beta.1",
  git-diff-apply   "2.16.0-beta.2",
  git-diff-apply   "2.16.0",
  git-diff-apply   "2.16.1",
  git-diff-apply   "2.16.2",
  git-diff-apply   "2.17.0-beta.1",
  git-diff-apply   "2.17.0-beta.2",
  git-diff-apply   "2.17.0",
  git-diff-apply   "2.17.1",
  git-diff-apply   "2.17.2",
  git-diff-apply   "2.18.0-beta.1",
  git-diff-apply   "2.18.0-beta.2",
  git-diff-apply   "2.18.0",
  git-diff-apply   "2.18.1",
  git-diff-apply   "2.18.2",
  git-diff-apply   "3.0.0-beta.1",
  git-diff-apply   "3.0.0-beta.2",
  git-diff-apply   "3.0.0",
  git-diff-apply   "3.0.1",
  git-diff-apply   "3.0.2",
  git-diff-apply   "3.0.3",
  git-diff-apply   "3.0.4",
  git-diff-apply   "3.1.0-beta.1",
  git-diff-apply   "3.1.0",
  git-diff-apply   "3.1.1",
  git-diff-apply   "3.1.2",
  git-diff-apply   "3.1.3",
  git-diff-apply   "3.1.4",
  git-diff-apply   "3.2.0-beta.1",
  git-diff-apply   "3.2.0-beta.2",
  git-diff-apply   "3.2.0",
  git-diff-apply   "3.3.0",
  git-diff-apply   "3.4.0-beta.1",
  git-diff-apply   "3.4.0-beta.2",
  git-diff-apply   "3.4.0-beta.3",
  git-diff-apply   "3.4.1",
  git-diff-apply   "3.4.2-beta.1",
  git-diff-apply   "3.4.2",
  git-diff-apply   "3.4.3",
  git-diff-apply   "3.4.4",
  git-diff-apply   "3.5.0-beta.1",
  git-diff-apply   "3.5.0-beta.2",
  git-diff-apply   "3.5.0",
  git-diff-apply   "3.5.1",
  git-diff-apply   "3.6.0-beta.1",
  git-diff-apply   "3.6.0",
  git-diff-apply   "3.6.1",
  git-diff-apply   "3.7.0-beta.1",
  git-diff-apply   "3.7.0-beta.2",
  git-diff-apply   "3.7.0",
  git-diff-apply   "3.7.1",
  git-diff-apply   "3.8.0-beta.1",
  git-diff-apply   "3.8.0",
  git-diff-apply   "3.8.1",
  git-diff-apply   "3.8.2",
  git-diff-apply   "3.8.3",
  git-diff-apply   "3.9.0-beta.1",
  git-diff-apply   "3.9.0-beta.2",
  git-diff-apply   "3.9.0",
  git-diff-apply   "3.10.0-beta.1",
  git-diff-apply   "3.10.0-beta.2",
  git-diff-apply   "3.10.0",
  git-diff-apply   "3.10.1",
  git-diff-apply   "3.11.0-beta.1",
  git-diff-apply   "3.11.0-beta.3",
  git-diff-apply   "3.11.0",
  git-diff-apply   "3.12.0",
  git-diff-apply   "3.13.0-beta.1",
  git-diff-apply   "3.13.0",
  git-diff-apply   "3.13.1",
  git-diff-apply   "3.14.0-beta.1",
  git-diff-apply   "3.14.0-beta.2"
  git-diff-apply ]
  git-diff-apply  +846ms
  git-diff-apply git status --porcelain +8ms
  git-diff-apply git clone --mirror https://github.com/ember-cli/ember-addon-output /var/folders/dw/bx1n948x7bgdmwdpxgns8q040000gn/T/tmp-48027V5v8LC8rO6Nt/.git +27ms
  git-diff-apply  +530ms
  git-diff-apply git --git-dir="/var/folders/dw/bx1n948x7bgdmwdpxgns8q040000gn/T/tmp-48027V5v8LC8rO6Nt/.git" rev-parse vnull +0ms
Error: Command failed: git --git-dir="/var/folders/dw/bx1n948x7bgdmwdpxgns8q040000gn/T/tmp-48027V5v8LC8rO6Nt/.git" rev-parse vnull
fatal: ambiguous argument 'vnull': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

    at ChildProcess.exithandler (child_process.js:295:12)
    at ChildProcess.emit (events.js:210:5)
    at maybeClose (internal/child_process.js:1021:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5) {
  killed: false,
  code: 128,
  signal: null,
  cmd: 'git --git-dir="/var/folders/dw/bx1n948x7bgdmwdpxgns8q040000gn/T/tmp-48027V5v8LC8rO6Nt/.git" rev-parse vnull',
  stdout: 'vnull\n',
  stderr: "fatal: ambiguous argument 'vnull': unknown revision or path not in the working tree.\n" +
    "Use '--' to separate paths from revisions, like this:\n" +
    "'git <command> [<revision>...] -- [<file>...]'\n"
}

Running it from locally installed version yields the same error:

❯ ./node_modules/ember-cli-update/bin/ember-cli-update.js
{ Error: Command failed: git --git-dir="/var/folders/dw/bx1n948x7bgdmwdpxgns8q040000gn/T/tmp-5146232O2AA6pSny6/.git" rev-parse vnull
fatal: ambiguous argument 'vnull': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
...

MichalBryxi avatar Oct 03 '19 00:10 MichalBryxi

Found it. The problem is that for whatever reason my package.json contained:

"devDependencies": {
    "ember-cli": "github:ember-cli/ember-cli#ed51787b3e18efee706f163d57836a30cd5286b7",
}

And because of that the updater could not figure out the tag to update from. So the workaround would be to specify from:

ember-cli-update --from 3.4.0 --to 3.12.0

Don't know whether it would be worth trying to make the code work for a SHA, but some warning message would be nice.

MichalBryxi avatar Oct 03 '19 08:10 MichalBryxi

Looks like here's the bug. https://github.com/kellyselden/boilerplate-update/blob/d08af9acd9f8a8251cd855a48bbe18af0e18e7e9/src/get-project-version.js#L8

There should be a failure case there. I'm surprised this hasn't come up sooner.

kellyselden avatar Nov 02 '19 10:11 kellyselden