Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Provides a readable stream alternative to `git-log`, so you can access your git history through Node.
JavaScript
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
test
.gitignore
LICENSE.md
README.md
index.js
package.json

README.md

git-trail

Provides a readable stream alternative to git-log, so you can access your git history through Node.

Installation

npm install git-trail

Usage

trail(directory, [options]).

var trail = require('git-trail')
  , project = __dirname + '/../synthesis'

trail(project, { until: new Date }).on('data', function(commit) {
  commit.sha             // "bfceb052d8d08db882e75aa0444fe9c51eda76e2"
  commit.body            // "update URLs for new repo name"

  commit.author.email    // "hughskennedy@gmail.com"
  commit.author.name     // "Hugh Kennedy"
  commit.author.date     // Wed Dec 12 20:55:49 2012 +1100

  commit.committer.email // "hughskennedy@gmail.com"
  commit.committer.name  // "Hugh Kennedy"
  commit.committer.date  // Wed Dec 12 20:55:49 2012 +1100
})

Options include:

  • since: The starting date to stream logs from
  • until: The last date to stream logs from
  • format: Specifiy the format of each commit object.

You can use any git-log placeholder when using options.format. For example:

trail(project, {
  format: {
    hash: '%H',
    slug: '%f',
    emails: { author: '%ae', committer: '%ce' }
  }
}).on('data', function(commit) {
  commit.hash // "bfceb052d8d08db882e75aa0444fe9c51eda76e2"
  commit.slug // "update-URLs-for-new-repo-name"

  commit.emails.author    // "hughskennedy@gmail.com"
  commit.emails.committer // "hughskennedy@gmail.com"
})

All options are, well, optional. Enjoy!

Something went wrong with that request. Please try again.