~tardypad/git-dot

Output internal Git graph to Graphviz's DOT language

75c8387 Add info in doc about default configuration

2 months ago

e79c17b Add default "all" Makefile target

2 months ago

#git-dot

Output Git content in Graphviz's DOT language.

#Design

  • The usage of the DOT output is left to external tools supporting the language, for example:
    • visualize the graph in an image using Graphviz tools
    • display animated graphs in a web browser using d3-graphviz
    • further process the graph object using pydot

This tool is mostly meant for educational purposes:

  • In case you're giving a training, the trainees should be able to use their regular development platform of choice. Installing must then be super easy, just by using a binary file.

  • To explain the Git internals, it's necessary to show the trees and blobs. Thus, all types of Git objects should be allowed to be displayed.

  • Explaining Git is better done visualizing smaller and simpler repositories. The tool is then not intended to be used on big repositories with many objects and references. No effort is done on optimizations for such use case.

See alternatives file for similar tools with their limitations and extras.

#Requirements

Git version equal or newer than 2.6.0 (released in 2015).

This is when "git cat-file" learned the "--batch-all-objects" option.