1 In addition to the generic version control notes.
3 The example at the end showing how to use Subversion keywords to track
4 provenance is the "ah ha!" moment for many learners. If time is
5 short, skip the material on recovering old versions of files in order
6 to get to this section instead. (The fact that provenance is harder
7 in Git, both mechanically and conceptually, is one reason to keep
13 * Version control is typically taught after the shell, so collect
14 learners' names during that session and create a repository for them
15 to share with their names as both their IDs and their passwords.
16 The easiest way to create the repository is to use a server managed
17 by an ISP such as Dreamhost, or on SourceForge, Google Code, or some
18 other "forge" site, all of which provide web interfaces for
19 repository creation and management. If your learners are advanced
20 enough to be using SSH, you can instead create it on any server they
21 can access, and connect with the `svn+ssh` protocol instead of
24 * Be very clear what files learners are to edit and what user IDs they
25 are to use when giving instructions. It is common for them to edit
26 the instructor's biography, or to use the instructor's user ID and
27 password when committing. Be equally clear *when* they are to edit
28 things: it's also common for someone to edit the file the instructor
29 is editing and commit changes while the instructor is explaining
30 what's going on, so that a conflict occurs when the instructor comes
33 * If some learners are using Windows, there will inevitably be issues
34 merging files with different line endings. `svn diff -x -w` is
35 supposed to suppress differences in whitespace, but we have found
36 that it doesn't always work as advertised.