Revise "Workflows" section for style and concision. Combined two sections whose contents were thematically identical. Rename sections to better describe their contents.
This practice advocates the use of a revision control system for the project's source code. All artefactsartifacts required to build the project should be placed in the repository. In this practice and the revision control community, the convention is that the system should be buildable from a fresh checkout and not require additional dependencies. [[Extreme Programming]] advocate [[Martin Fowler (software engineer)|Martin Fowler]] also mentions that where [[branching (software)|branching]] is supported by tools, its use should be minimised.<ref name="Fowler, Continuous Integration practices">{{Cite web |title=Practices |url=http://martinfowler.com/articles/continuousIntegration.html#PracticesOfContinuousIntegration |last=Fowler |first=Martin |author-link=Martin Fowler (software engineer) |website=Continuous Integration |type=article |access-date=29 November 2015}}</ref> Instead, it is preferred for changes to be integrated rather than for multiple versions of the software to be maintained simultaneously. The mainline (or [[trunk (software)|trunk]]) should be the place for the working version of the software.