Mailing List Archive

2.4.x vs trunk : history of commits, the visual way

just for fun, here is a tentative representation of the history of
commits which shows the differences between the 2.4.x branch and trunk.

Basically, it is build as follow:
   - svn diff
   - hand made script which annotates the diff file with the results
from svn blame
   - hand made script which build a .dot file out of this maze.

To generate the dot file, I take each commit listed in each hunk of the
diff file, sort them, and generate dependency graph.
"dot -Tsvg" finalizes the job and links everything that need to be
linked in order to see the full picture.

However, the picture is not 100% accurate. As I use "svn annotate", I
only get references to commits that add or modify something, not the
ones that remove something.
Depending on the output of "svn diff", empty lines are also not
necessarily taken from the correct commit.
As it works hunk but hunk, big hunks are likely to add some extra and
incorrect dependencies.

However, this gives a nice and huge dependency graph that gives a idea
of the evolution of the code.

Apart from the fun, it could also help in case of complex backport to
see what and from where things are coming.