如何列出提交中更改的文件的路径?

时间:2015-08-03 01:54:38

标签: node.js git nodegit

我现在可以走一个特定的分支来获取提交的详细信息(即作者,时间戳等),但我还想获得受提交影响的文件。

我尝试过:

commit.getDiff().then(function(arrayDiff) {
  arrayDiff.forEach(function(diff) {
    diff.patches().then(function(patches) {
      patches.forEach(function(patch) {
        console.log("diff", patch.oldFile().path(), patch.newFile().path());
      });
    });
  });
});

问题似乎发生在diff.patches().then(function(patches)。我可以添加日志记录语句,并看到arrayDiff中有项目,foreach正在为它工作,但我的代码永远不会到达patches.forEach

我做错了什么?有没有更好的方法来获取作为提交一部分的文件的路径?

1 个答案:

答案 0 :(得分:1)

我认为你在NPM(0.4.1)上使用当前版本的NodeGit,但不幸的是,文档指向下一个版本,它将所有这些调用规范化为承诺。

你可以在主人身上试试吗?如果你需要保持0.4.1,那么{{1}}应该返回补丁数组,而不是承诺。