var nodegit = require("../"), path = require("path"); // A `tree` in git is typically a representation of the filesystem at // a revision. A tree has a set of entries, each entry being either a // tree (directory), or a file. nodegit.Repository.open(path.resolve(__dirname, "../.git")) .then(function(repo) { return repo.getMasterCommit(); }) .then(function(firstCommitOnMaster) { return firstCommitOnMaster.getTree(); }) .then(function(tree) { // `walk()` returns an event. var walker = tree.walk(); walker.on("entry", function(entry) { console.log(entry.path()); }); // Don't forget to call `start()`! walker.start(); }) .done();