Patent attributes
In various example embodiments, a version control server controls the versioning and modification of source code by representing the source code as a tree structure. The tree structure includes various nodes, which represent constituent parts of the source code. Changes to the source code are reflected in changes to the tree structure, such as by deleting or inserting nodes. The version control server identifies a list of changes made to the source code via the tree structure, and obtains a successor version of the source code by applying a list of node changes. The version control server also manages changes to the source code by multiple users by recording and associating the tree structure of the source code when it was checked-out by each user. When a user checks the source code back in, attempts to modify the source code by merging and/or modifying the corresponding tree structure.