I worked on a product once that provided users an interactive graph.  The users could apply layout algorithms AND modify the grqph by moving nodes and edges around. From time to time, nodes and edges would be added and removed by the system.<p>So there&#x27;s a distinction there between the graph, and layout of the graph ie x,y coordinates of nodes, and routing of edges. What would version control track? This is a non trivial problem imo. Edit; specifically, storing a graph in some canonical form so that trivial changes would not create massive &#x27;false positives&#x27; in the diff. For example changing an edge indicatin an entire sub graph was added or removed. The problem is similar to xml tree diffing.<p>This is why I think versioning in these tools is pretty much non existent, imo of course.