如何列出在提交中更改的文件的路径?
How do I list the paths of the files that were changed in a commit?
我目前可以遍历特定分支以获取提交的详细信息(即作者、时间戳等),但我还想获取受提交影响的文件。
我尝试过的:
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,但不幸的是,文档指向了下一个版本,该版本将所有这些调用规范化为 promises。
你能在大师身上试试这个吗?如果您需要继续使用 0.4.1,那么 patches()
应该 return 补丁数组而不是承诺。
我目前可以遍历特定分支以获取提交的详细信息(即作者、时间戳等),但我还想获取受提交影响的文件。
我尝试过的:
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,但不幸的是,文档指向了下一个版本,该版本将所有这些调用规范化为 promises。
你能在大师身上试试这个吗?如果您需要继续使用 0.4.1,那么 patches()
应该 return 补丁数组而不是承诺。