1

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

我试过的:

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.

我究竟做错了什么?有没有更好的方法来获取属于提交的文件的路径?

4

1 回答 1

1

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

你可以在master上试试这个吗?如果您需要继续使用 0.4.1,patches()则应返回补丁数组而不是承诺。

于 2015-08-03T04:09:46.367 回答