我可以使用NodeGit从特定提交中获取添加和减少吗?

时间:2017-08-17 15:57:08

标签: javascript node.js git npm

我正在尝试使用npm包nodegit复制<?xml version="1.0" encoding="utf-8"?> <AnalyseParams> <TargetExecutable>D:\Program Files\NUnit 2.6\bin\nunit-console.exe</TargetExecutable> <TargetArguments>D:\Projects\TheApplication\bin\Debug\AppTests.dll</TargetArguments> <Output>AppCoverageReport.html</Output> <ReportType>html</ReportType> </AnalyseParams> <Filters> <ExcludeFilters> <FilterEntry> <ClassMask>IntegrationTests</ClassMask> </FilterEntry> </ExcludeFilters> </Filters> 的输出。文档(http://www.nodegit.org/api/commit/)在Commit模型上显示了许多不同的git log --stat函数,但似乎没有提供我正在寻找的“++ - ”统计信息。有没有人能够做到这一点?

1 个答案:

答案 0 :(得分:0)

我明白了。 Commit模型可以检索一个Diffs数组,然后可以检索一个Patches数组。 Patch模型有一个名为lineStats()的函数,它将返回一个包含以下键和值的对象:

{ total_context: 8, total_additions: 11, total_deletions: 12 }

以下是一个示例:

return commit.getDiff().then(function (diffList: any) {
    return Promise.all(diffList.map(function (diff: any) {
        return diff.patches().then(function (patches: any) {
            return Promise.all(patches.map(function (patch: any) {
                console.log('Line Stats: ', patch.lineStats())
            })
        })
    })
})