version-control: Make README.md and instructor.md more generic
[swc-version-control-svn.git] / version-control / svn / instructor.md
diff --git a/version-control/svn/instructor.md b/version-control/svn/instructor.md
new file mode 100644 (file)
index 0000000..45a0b0b
--- /dev/null
@@ -0,0 +1,36 @@
+In addition to the generic version control notes.
+
+The example at the end showing how to use Subversion keywords to track
+provenance is the "ah ha!" moment for many learners.  If time is
+short, skip the material on recovering old versions of files in order
+to get to this section instead.  (The fact that provenance is harder
+in Git, both mechanically and conceptually, is one reason to keep
+teaching Subversion.)
+
+Teaching notes
+--------------
+
+* Version control is typically taught after the shell, so collect
+  learners' names during that session and create a repository for them
+  to share with their names as both their IDs and their passwords.
+  The easiest way to create the repository is to use a server managed
+  by an ISP such as Dreamhost, or on SourceForge, Google Code, or some
+  other "forge" site, all of which provide web interfaces for
+  repository creation and management.  If your learners are advanced
+  enough to be using SSH, you can instead create it on any server they
+  can access, and connect with the `svn+ssh` protocol instead of
+  HTTPS.
+
+* Be very clear what files learners are to edit and what user IDs they
+  are to use when giving instructions.  It is common for them to edit
+  the instructor's biography, or to use the instructor's user ID and
+  password when committing.  Be equally clear *when* they are to edit
+  things: it's also common for someone to edit the file the instructor
+  is editing and commit changes while the instructor is explaining
+  what's going on, so that a conflict occurs when the instructor comes
+  to commit the file.
+
+* If some learners are using Windows, there will inevitably be issues
+  merging files with different line endings.  `svn diff -x -w` is
+  supposed to suppress differences in whitespace, but we have found
+  that it doesn't always work as advertised.