1. A computer implemented method for semantic version control of source code, the computer implemented method comprising: scanning, by a computer, a source code file for semantic relationships between source code sections within the source code file; generating dependencies, by a dependency generator, between the source code sections using the semantic relationships of the source code sections; constructing a semantic graph by the computer using the dependencies and associated metadata describing a respective section of the source code sections individually, wherein the dependencies indicate the semantic relationships between the source code sections and wherein the metadata includes semantic graph relationships and developer comments entered by a set of developers, wherein the set of developers comprises at least one appropriate developer to receive a notification, wherein an appropriate developer is one who wants to receive notice of a change to the semantic graph including a developer whose workflow is affected by the source code sections and, wherein the semantic graph comprises vertices and graph edges, wherein the vertices describe the source code sections and include the metadata applicable to each respective source code section, wherein the vertices are a geometric shape and the graph edges are directional paths between the vertices that track a dependency between the vertices; creating a blank semantic graph, by the computer, for projects that do not have an existing source code file in the source code repository and storing the blank semantic graph in the source code repository; responsive to receiving dependency changes for the semantic graph through a user interface of a semantic graph editor, modifying the semantic graph with the dependency changes to add or delete one or more vertices and graph edges of the semantic graph to form a modified semantic graph, wherein the modifying the semantic graph includes making the dependency changes on the semantic graph through a user interface of a semantic graph editor and modifying the blank semantic graph by adding dependencies to the blank semantic graph as source code classes are created for the projects that do not have the existing source code file in the source code repository; storing the modified semantic graph by the computer in the source code repository; and notifying, by the computer, the set of developers of the modified semantic graph.