Sat Aug 6 12:14:16 CEST 2011

Git visualization

Strings of patches are not so interesting.  What is interesting are
forks and merges.  Is it possible to use gitk to only display these?
I.e. give a normal view but squash all linear dependencies.

EDIT: see [1].  The command that's used to export the tree can
probably also be used to create a limited tree.  Dissecting this gives
a useful command:

    git log --pretty='format: %h -> { %p }'

The git-log[2] manpage gives a list of variables that can be used in
the format string.  See PRETTY FORMATS -> format:string

From this, the following would be useful for parsing the dependency
tree into Scheme.  Any amount of annotation could be added later and
%H and %P could be used instead of the truncated %h and %p, but this
is the basic idea:

    git log --pretty='format:(%h "%s" (%p))'

This gives a parent DAG, where forks are implicit in the structure.
Can the graph be turned upside down, making the forks explicit?  I
don't see anything in the format string, but there is a --children

[1] https://git.wiki.kernel.org/index.php/Aliases#Usegraphvizfordisplay
[2] http://www.kernel.org/pub/software/scm/git/docs/git-log.html