
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Node.js libgit2 bindings
Maintained by Tim Branyen @tbranyen, Michael Robinson @codeofinterest, and Nick Kallen @nk, with help from awesome contributors!
Documentation may be found here: nodegit
documentation.
To install nodegit
you need Node.js
, python
and cmake
.
This will install and configure everything you need to use nodegit
.
$ npm run-script gen && npm install && npm test
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
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)
Below are two examples. There are several more.
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();
});
});
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('...');
});
});
});
});
<a name="v0-1-0" href="#v0-1-0">v0.1.0</a> (2013-09-07)
Closed issues:
The api in README is incorrect #87
message_encoding in documentation for Repo.createCommit #86
How to retrieve blob with binary content? #83
Incorrect commit oid's when aggregated from commit.history() #81
How do you list branches in repo? #76
License? #74
Nested walks scatter memory and cause SEGFAULTS #72
feature request: Provide fileMode / getType method on tree entries #67
Document DiffList #66
Procedure for moving development to nodegit/nodegit #55
Cannot install on OSX #49
Merged pull requests:
FAQs
Node.js libgit2 asynchronous native bindings
The npm package nodegit receives a total of 27,375 weekly downloads. As such, nodegit popularity was classified as popular.
We found that nodegit demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.