1. A source control management system, comprising: an application server comprising a non-transitory memory and one or more hardware processors, wherein the one or more hardware processors are coupled to the memory and configured to read instructions from the memory to perform: receiving a request to commit a first modified component of a software application, the software application comprising a plurality of components; identifying a blocking condition in response to receiving the request to commit the first modified component, wherein the blocking condition is a dependency of the first modified component upon a second component of the software application, wherein the second component does not satisfy the dependency; receiving a request to commit a modified version of the second component of the software project; determining that the modified version of the second component satisfies the dependency of the first modified component upon the second component; and committing the first modified component and the second modified component.