如何使用nodegit获取文件提交消息?

时间:2018-03-26 10:24:53

标签: git nodegit

目前,我使用以下命令在git树上列出文件:

repository
    .getBranchCommit(treeRefName)
    .then((commit)=> commit.getTree())
    .then((tree) => {
        obj.repositoryTree = tree;
        obj.repositoryTreeEntries = tree.entries();
        fullfill(obj);
    })
    .catch(reject);

使用oid方法进一步列出OID。进一步尝试使用以下方式获取提交消息:

Git.Commit
    .lookup(repository, oid)
    .then((commit) => {
        console.log(commit.message());
    })
    .then(() => fullfill(obj))
    .catch(reject);

lookup方法中所述。问题是它一直在崩溃。此外,来自终端的简单git log显示oid与提交哈希不同。我到底哪里错了,要获取更改文件的最后一次提交?

1 个答案:

答案 0 :(得分:0)

RevWalk' fileHistoryWalk函数可以帮助您实现这一目标,但它相当违反直觉。

请参阅nodegit/nodegit#1068nodegit/nodegit#1174