2013-04-10 75 views
0

最近我必须为节点模块实现一个git API,所以我们可以通过编程接口进行版本控制。我来到this post找到一些我可以使用的好模块。为javascript节点模块编写git API

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

回答

1

你提到的图书馆应该是一个很好的起点。以node-git's lib/git.js file为例。在那里,你可以找到以下行:

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

这是一个很好的起点,了解作者是如何映射系统调用节点功能,并允许回调与输出工作。

我会开始一个项目的分支。寻找在same file日志功能,它开始像

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

复制的功能,给它一个合适的名字,并尝试采用它来满足您的需求。

如果您成功并希望获得帮助,可以在GitHub上启动一个pull请求来帮助作者并将该函数添加到官方项目中。

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

+0

谢谢@Seb,实际上我决定只是深入研究源代码,发现它的记录非常清晰。我应该能够顺利地扩展模块:) – 2013-04-10 19:41:09