[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/codercatdev/nodegit/emscripten/example/diff-commits.js [Back]  [Original]

var git = require('../'),
    path = require('path');

// This code examines the diffs between a particular commit and all of its
// parents. Since this commit is not a merge, it only has one parent. This is
// similar to doing `git show`.

git.Repo.open(path.resolve(__dirname, '../.git'), function(error, repo) {
  if (error) throw error;

  repo.getCommit('59b20b8d5c6ff8d09518454d4dd8b7b30f095ab5', function(error, commit) {
    if (error) throw error;

    console.log('commit ' + commit.sha());
    console.log('Author:', commit.author().name() + ' ');
    console.log('Date:', commit.date());
    console.log('\n    ' + commit.message());

    commit.getDiff(function(error, diffList) {
      if (error) throw error;

      diffList.forEach(function(diff) {
        diff.patches().forEach(function(patch) {
          console.log("diff", patch.oldFile().path(), patch.newFile().path());
          patch.hunks().forEach(function(hunk) {
            console.log(hunk.header().trim());
            hunk.lines().forEach(function(line) {
              console.log(String.fromCharCode(line.lineOrigin) + line.content.trim());
            });
          });
        });
      });
    });
  });
});

Web Proxy Viewer  |  New URL  |  Original Page