如何列出在提交中更改的文件的path?

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

我曾经尝试过:

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) 。我可以添加日志logging语句,并看到arrayDiff有项目,foreach正在为它工作,但我的代码永远达不到arrayDiff

我究竟做错了什么? 有没有更好的方式来获取作为提交一部分的文件的path?

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

你可以试试这个主人吗? 如果你需要继续使用0.4.1,那么patches()应该返回补丁数组而不是promise。