Currently the output is text only, but I think it would be more useful to visualise the dependencies as an interactive graph where you could zoom in/out, pan around, hover over each node to see commit meta-data, click on leaf nodes to request further recursion, and so on. Nodes could be coloured according to commit author, and sized according to the diffstats.
Clearly this should be cross-platform and based on some modern rendering technology, so HTML/CSS/Javascript seems the obvious choice. Dependency inference is too expensive to generate the full graph as a static web page, so I plan to extend the tool so it can act as a lightweight web server, e.g.
Since a lot of the hard work in the above examples is already done by cola.js, most likely I will use that in conjunction with d3.js.
Since the tool is already written in Python, I am considering using a very lightweight web framework such as Flask. (I suspect Django would be overkill for this application which is essentially stateless.)
Another approach might be to integrate it into an existing git web frontend written in Python. However I trawled through
Although it would be nicer if the visualization could be harnessed by any web front-end, and this is probably doable quite easily via <iframe> or perhaps something a bit more elegant.
Currently the output is text only, but I think it would be more useful to visualise the dependencies as an interactive graph where you could zoom in/out, pan around, hover over each node to see commit meta-data, click on leaf nodes to request further recursion, and so on. Nodes could be coloured according to commit author, and sized according to the diffstats.
Clearly this should be cross-platform and based on some modern rendering technology, so HTML/CSS/Javascript seems the obvious choice. Dependency inference is too expensive to generate the full graph as a static web page, so I plan to extend the tool so it can act as a lightweight web server, e.g.
and then you could simply point your browser at http://localhost:8080 to interact with the graph. It might look a little like this, but with interactive zoom/pan/hover/click functionality like this.
Since a lot of the hard work in the above examples is already done by cola.js, most likely I will use that in conjunction with d3.js.
Since the tool is already written in Python, I am considering using a very lightweight web framework such as Flask. (I suspect Django would be overkill for this application which is essentially stateless.)
Another approach might be to integrate it into an existing git web frontend written in Python. However I trawled through
but couldn't find any Python-based frontend which looked like it was in active development. Perhaps the most promising I could find was:
Although it would be nicer if the visualization could be harnessed by any web front-end, and this is probably doable quite easily via
<iframe>
or perhaps something a bit more elegant.