This is an old revision of the document!
Back to 2014-proposals
Title: Version Control - Patterns and Practices
Proposer: Chris Oldwood
Type: Tutorial
Duration: 90 mins
Description:
After the text editor and programming language the next most valuable, hotly debated
and often poorly used tool is probably the version control system. Some treat it as nothing
more than an ad-hoc backup of their source code whilst others endeavour to create a
narrative that describes the evolution of their entire software product from inception to
decommission.
This session takes a walk through the software development lifecycle and examines the
role the source control system plays - what we store, why we store it, how we change it
and then later how we reconstruct what was changed and why. We'll look at the various
forces that dictate our branching (and subsequent merging) strategies along with some
of the less contentious policies we can adopt to ensure our system continues to evolve
reliably whilst maintaining a traceable narrative.
Despite the range of commercial and open source SCM products out there the patterns
and practices I will discuss here are almost universal. For the Software Archaeologist
preserving history across file/folder moves and renames is just one aspect where tool
specific knowledge matters. But before we can get there we need to deal with their lack
of agreement on a common vernacular…