Xavier_Ex
Xavier_Ex

Reputation: 8810

Writing git API for javascript node module

Hi recently I have to implement a git API for a node module, so we can have version control through programmatic interface. I came upon this post to find some good modules that I can use.

However, after playing around with some of them, I realized that none of them provide the feature of querying the commit history of a single file (like calling 'git log --follow '). I would like to extend that feature into my module but since I have no experience before, does anyone know where I should start?

Upvotes: 0

Views: 146

Answers (1)

Sebastian vom Meer
Sebastian vom Meer

Reputation: 5241

The libraries you mentioned should be a good starting point. Take node-git's lib/git.js file for example. There you can find the following lines:

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

This is a good starting point to understand how the author maps Node functions on system calls and and allows the callback to work with the output.

I would start a fork of the project. Look for the log function in the same file, which starts like

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

Copy the function, give it a proper name and try to adopt it to meet your needs.

If you succeed and like to help, you could start a pull request on GitHub to help the author and add the functionallity to the official project.

I would do it this way. I hope this helps.

Upvotes: 1

Related Questions