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

我尝试过的

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

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

最佳答案

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

可以在主人那里尝试吗?如果需要保持在0.4.1,则patches()应该返回补丁数组,而不是promise。

关于node.js - 如何列出在提交中更改的文件的路径?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31778408/

10-10 04:40