0

嗨,最近我必须为节点模块实现一个 git API,所以我们可以通过编程接口进行版本控制。我在这篇文章中找到了一些我可以使用的好模块。

然而,在玩了一些之后,我意识到它们都没有提供查询单个文件的提交历史的功能(比如调用 'git log --follow')。我想将该功能扩展到我的模块中,但由于我之前没有经验,有人知道我应该从哪里开始吗?

4

1 回答 1

1

您提到的库应该是一个很好的起点。以node-git 的 lib/git.js 文件为例。在那里你可以找到以下几行:

// Call the native git binary
Git.prototype.call_git = function(prefix, command, postfix, options, args, callback) {
    // ...

这是了解作者如何将 Node 函数映射到系统调用并允许回调与输出一起工作的一个很好的起点。

我会开始一个项目的分支。在同一个文件中查找日志函数,该文件的开头类似于

Git.prototype.log = function(commit, path, options, callback) {

复制函数,给它一个合适的名称,并尝试采用它来满足您的需求。

如果您成功并愿意提供帮助,您可以在 GitHub 上发起 pull request 来帮助作者并将功能添加到官方项目中。

我会这样做。我希望这有帮助。

于 2013-04-10T19:06:14.170 回答