Skip to content

getTree fails on result of commit.parent(0) #1653

@rigdern

Description

@rigdern

System information

  • node version: v8.12.0
  • yarn version: 1.5.1
  • OS/version/architecture: darwin/18.2.0/x64
  • Applicable nodegit version: [email protected] (also repros in 0.24.1 and 0.23.0)

Repro

Here's a repro that runs against the nodegit git repo:

const nodegit = require('nodegit');

nodegit.Repository.open('../nodegit').then(repo => {
  return repo.getCommit('977251b4aae52eef75cf4f188b4d5a63ba98fa7b')
}).then(commit => {
  return commit.parent(0);
}).then(parentCommit => {
  return parentCommit.getTree();
}).then(parentTree => {
  console.log('parentTree: ' + parentTree);
}).then(null, err => {
  console.log('Error encountered\n');
  console.log(err);
});

Expected output: parentTree: [object Tree]

Actual output:

Error encountered

TypeError: Cannot read property 'getTree' of undefined
    at Commit.getTree (node_modules/nodegit/dist/commit.js:302:20)
    at nodegit.Repository.open.then.then.then.parentCommit (main.js:11:23)
    at tryCallOne (node_modules/nodegit-promise/lib/core.js:37:12)
    at node_modules/nodegit-promise/lib/core.js:103:15
    at flush (node_modules/asap/raw.js:50:29)
    at _combinedTickCallback (internal/process/next_tick.js:132:7)
    at process._tickCallback (internal/process/next_tick.js:181:9)

It looks like this line throws an exception because this.repo is undefined.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions