SC2012BootcampPlan » History » Version 6

Chris Cannam, 2012-04-24 02:16 PM

1 1 Chris Cannam
h1. Plan for Software Carpentry 2012 Boot Camp on Version Control
2 1 Chris Cannam
3 2 Chris Cannam
h3. Purpose
4 1 Chris Cannam
5 2 Chris Cannam
To explain version control to researchers who have never used it before, or who want to understand it better.
6 2 Chris Cannam
7 2 Chris Cannam
h3. Context
8 2 Chris Cannam
9 2 Chris Cannam
Two hour interactive live workshop, using EasyMercurial and the Mercurial command-line tool.
10 2 Chris Cannam
11 2 Chris Cannam
h2. Outline
12 3 Chris Cannam
13 3 Chris Cannam
The basic plan is:
14 6 Chris Cannam
15 3 Chris Cannam
 # presentation introduction to version control in general (using either whiteboard drawings or a PowerPoint presentation)
16 3 Chris Cannam
 # long worked example in which basic topics of version control are worked through using EasyMercurial and then some more advanced topics are returned to using the command-line tool
17 3 Chris Cannam
 # closing remarks talking about other tools, other topics of interest etc
18 3 Chris Cannam
19 3 Chris Cannam
Detailed outline:
20 3 Chris Cannam
21 3 Chris Cannam
 * A presentation introduction to the concept of version control. Why is it useful? What can go wrong without it? How does a version control system work? *History* + *Collaboration*
22 3 Chris Cannam
 * Check that participants have EasyMercurial installed and working
23 5 Chris Cannam
 * *Worked example, part 1:* Working by myself
24 5 Chris Cannam
 ** *Topics:* Initialising a repository, committing files, reading history, looking at diffs, reverting unwanted changes, going back in time to look at old versions
25 3 Chris Cannam
 ** We will be working on a recipe for fish stew for a future recipe book
26 3 Chris Cannam
 ** Make a new directory, create a text file @fishstew.txt@ in it, start adding an ingredients list, save
27 4 Chris Cannam
 ** Run up EasyMercurial, "Open" that directory, see @fishstew.txt@ in untracked file list, explain this
28 4 Chris Cannam
 ** Add file, commit, supply a message, note that we now have some history