Skip to content
/ gitviz Public

Visualize git repository internals as they change, live, in the browser.

License

Notifications You must be signed in to change notification settings

kevinw/gitviz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3f3d932 · May 17, 2013

History

36 Commits
Sep 10, 2012
Sep 15, 2012
Sep 7, 2012
Sep 10, 2012
Sep 5, 2012
Sep 10, 2012
May 17, 2013
Sep 8, 2012
Aug 31, 2012
Sep 15, 2012
May 17, 2013
Sep 9, 2012
Sep 9, 2012
Sep 15, 2012
Sep 6, 2012
May 17, 2013
Aug 30, 2012
Sep 9, 2012

Repository files navigation

gitviz

Visualize git repositories as they change, live in the browser.

gitvize screenshot

Why?

gitviz might be useful as a teaching tool for git.

It draws graphviz graphs on <canvas> elements, and updates them as you modify the target git repository on the fly.

Requirements

You need Python, Node.js, npm, and a git repository.

Installation

# get code
git clone git://github.com/kevinw/gitviz.git

# start the webserver
cd gitviz
./run-server PATH_TO_REPOS # where PATH_TO_REPOS is the path above your repositories

# see live graphs in the browser
open http://localhost:3000/reponame

Libraries

gitviz is just glue around lots of great libraries:

  • dulwich reads your git repositories as graphs
  • pydot emits those graphs as DOT language
  • canviz draws DOT language as visual graphs in <canvas> tags in the browser
  • express serves the webpage showing the graph
  • socket.io notifies the browser in realtime when the graph changes

TODO

  • The node library "watch" we're using uses polling under the hood. There are definitely better alternatives that hook into filesystem events.
  • Animate the graph when it changes.
  • Show working copy modifications. Maybe an asterisk next to the blobs that differ?
  • Eliminate bottlenecks for non-toy-sized repositories, and make them navigable/intelligible in some way.
  • Make the graph interactive, or somehow have each node show the git command that made it.

About

Visualize git repository internals as they change, live, in the browser.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published