pure-Javascript Git implementation
Switch branches/tags
Nothing to show
Clone or download
danlucraft git diff --stat works:
 * TreeDiff moved from the RepoViewer demo into the main lib
 * Diff renamed to FileDiff
 * MemoryRepo#getObject works the same as Repo#getObject
Latest commit a1345e5 Jun 26, 2011



Daniel Lucraft @danlucraft

A git implementation in pure JavaScript.

Has two clients:

  • a command-line node.js client,
  • and an in-browser repo API for accessing git through the HTTP protocol


The command-line version currently implements:

  • git.js log (shows 10 commits)
  • git.js branch (listing local branches)
  • git.js show SHA (show object information)

The client side API implements:

  • creating an in-memory repo
  • fetching remote objects through the dumb or smart HTTP git protocols
  • browsing the object graph
  • creating HTML object diffs


To demo the in-browser repo viewer, install thin and run:

$ rake demo


  • package for npm
  • writing to repos: committing, branching
  • improving the client side API


  • making it easy to run the included demo repo-viewer webapp


Released under the MIT License. See the LICENSE file for further details.