With the increasing amount of cross-repo shuffling we do with the new release cycle, it's becoming more valuable to have a network view ala github.
We have all the data for that, so getting there is basically a three-step process:
- extract the data for a network view from the database. changesets, topology, pushes, repos.
- display that data in a graph
- update the graph based on navigation
The first item is a good excersize to learn more about our hg data, the second involves a good deal of html5 to get graphs going, but also some structured thinking on edge colors etc.
The third one is really tricky, in particular if you don't want to reload the graph (which is fine), but instead feel like morphing an existing graph with more data.
Side notes: This goes beyond what github does in the sense that it should be based on changesets, and not "forks". I.e., fork detection will work automagically. Given that, it's probably good to have some UX to restrict the graph shown only to some repositories. That's looking forward if we'd have this for all hg repos on hg.m.o, including user repos.
Spent a weekend on this, and some protovis learning.
Awesome data. Buggy, but I may want to land it buggy on -dev-.
This landed on -dev-, resolving FIXED.