This is the older version of the tools presentation lecture.
Open Source Communication Tools
The slides I use for this talk can be found here. These are modified from a version graciously provided by Jessica McKellar. There are substantial notes in the ODP file which can be viewed by going to the "Notes" tab.
- Slides 1-7 (#7 is titled 'Version Control')
- Version Control Demo
- Slide 8 (#8 is titled 'Sharing changes: diff and patch')
- Diff and Patch Demo
- Slides 9-11 (#11 is titled 'Issue Trackers')
- Issue Tracker Demo
- Slide 12 (#12 is titled 'IRC')
- IRC Demo
- Slides 13-19
Version Control Demo
Go to the Wikipedia page for the host institution, e.g. http://en.wikipedia.org/wiki/Wellesley_College and http://en.wikipedia.org/w/index.php?title=Wellesley_College&action=history. The presenter of the version control tutorial will explore the page more thoroughly later.
Diff and Patch Demo
This demo uses the files in this repository.
I have a ToDoList! But maybe it needs editing. First, I'll make a copy to edit:
cp ToDoList new_ToDoList
Then I'll open it up and make changes to it. (Side note: make sure to explain which editor you're using and give options for those following along - emacs, vim, nano, or a GUI.)
How do I view the differences between the two?
diff -u ToDoList new_ToDoList
That's just printed to the command line, though. How do I store it in a file?
diff -u ToDoList new_ToDoList > changes.diff
I open up the file and see it contains the same stuff as was printed out before. Okay, now how do I apply these changes to the original list?
patch -p0 ToDoList < changes.diff
Note that the argument given to the patch is the file I want to modify, not the file that already has the changes.
People often ask - what does the argument "-u" given to diff mean, or the argument -p0 given to "patch"?
-p[x] is an argument which allows the user to specify how much of the given file's path needs to be matched. -p0 gives the entire file name unmodified. The documentation has a bit more info.
Issue Tracker Demo
Pick a few random issue trackers, ideally ones which use different platforms, such as:
Information to look for:
- tags like "bite size"
Log into IRC and join the #openhatch channel.
Forgot to install? Go here.
- how your name is highlighted if someone uses it
- how to do /me
- how to send messages to individual users
- different servers vs different channels (#openhatch on other servers might be empty)
- how to make a new channel, if asked