git-diff-tree

    1.1.0 • Public • Published

    git-diff-tree

    Shelling out to git-diff-tree(1) in a Node streamy fashion.

    build status

    Usage

    gitDiffTree(repoPath, [options]);

    Where options defaults to:

    {
      rev : 'HEAD',
      originalRev : '--root',
      // don't output data for files that have more lines changed than allowed
      MAX_DIFF_LINES_PER_FILE: 300,
      // when the diff output is bigger than the limit destroy the stream
      MAX_DIFF_SIZE: (3 * 1024 * 1024) // 3 Mb
    }

    Example:

    var gitDiffTree = require('git-diff-tree');
    var path = require('path');
    var repoPath = path.resolve(process.env.REPO || (__dirname + '/../.git'));
     
    gitDiffTree(repoPath).on('data', function(type, data) {
      if (type === 'raw') {
        console.log('RAW DATA');
      } else if (type === 'patch') {
        console.log('PATCH DATA');
      } else if (type === 'stats') {
        console.log('FILE STATS');
      } else if (type === 'noshow') {
        console.log('Diffs not shown because files were too big');
      }
      console.log('------ \n');
      console.log(data);
      console.log('=================\n');
      // console.log(type, data);
    }).on('error', function(err) {
      console.log('OH NOES!!');
      throw err;
    }).on('cut', function() {
      console.log('-----------------');
      console.log('Diff to big, got cut :|');
    }).on('end', function() {
      console.log('-----------------');
      console.log("That's all folks");
    });

    Tests

    npm test
    

    License

    MIT

    Install

    npm i git-diff-tree

    DownloadsWeekly Downloads

    18,019

    Version

    1.1.0

    License

    MIT

    Unpacked Size

    26.3 kB

    Total Files

    12

    Last publish

    Collaborators

    • alessioalex