nodegit-mt

js Styles
Node.js libgit2 asynchronous native bindings
Version 0.1.0 License MIT
Keywords
libgit2git2gitnative
<link href=" https://cdn.jsdelivr.net/npm/nodegit-mt@0.1.0/vendor/naturaldocs/Help/styles.min.css " rel="stylesheet">
No default files set by the package author so the URLs are guessed. You can always browse all package files to use other ones.
nodegit
Node.js libgit2 bindings
Maintained by Tim Branyen @tbranyen, Michael Robinson @codeofinterest, and Nick Kallen @nk, with help from awesome contributors!
API Documentation
Documentation may be found here: nodegit
documentation.
Building and installing
Dependencies
To install nodegit
you need Node.js
, python
and cmake
(>=2.8).
Easy install (Recommended)
This will install and configure everything you need to use nodegit
.
$ npm run-script gen && npm install && npm test
Mac OS X/Linux/Unix
Install nodegit
by cloning source from GitHub and running node install
:
$ git clone git://github.com/tbranyen/nodegit.git
$ cd nodegit
$ npm run-script gen && npm install
Windows via Cygwin
nodegit
has been compiled and tested to work with the setup required to build and run Node.js
itself.
Instructions on compiling Node.js
on a Windows platform can be found here:
https://github.com/ry/node/wiki/Building-node.js-on-Cygwin-(Windows)
API Example Usage
Below are two examples. There are several more.
Git Log Emulation
var git = require('../'),
path = require('path');
git.Repo.open(path.resolve(__dirname, '/tmp/repo/.git'), function(error, repo) {
if (error) throw error;
repo.getMaster(function(error, branch) {
if (error) throw error;
// History returns an event.
var history = branch.history();
// History emits 'commit' event for each commit in the branch's history
history.on('commit', function(commit) {
console.log('commit ' + commit.sha());
console.log('Author:', commit.author().name() + ' <' + commit.author().email() + '>');
console.log('Date:', commit.date());
console.log('\n ' + commit.message());
});
// Don't forget to call `start()`!
history.start();
});
});
Clone a repo and read a file
git.Repo.clone("https://github.com/nodegit/nodegit.git", path, null, function(error, repo) {
if (error) throw error;
repo.getCommit('59b20b8d5c6ff8d09518454d4dd8b7b30f095ab5', function(error, commit) {
if (error) throw error;
commit.getEntry('README.md', function(error, entry) {
if (error) throw error;
entry.getBlob(function(error, blob) {
if (error) throw error;
console.log(entry.name(), entry.sha(), blob.size() + 'b');
console.log('========================================================\n\n');
var firstTenLines = blob.toString().split('\n').slice(0, 10).join('\n');
console.log(firstTenLines);
console.log('...');
});
});
});
});