Open Source Comes to Campus/Curriculum/Tools/Shauna old version

From OpenHatch wiki

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.

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"?

Well, -u tells diff to output in unified diff format. Two other formats are Edit script (specified with -e) and Context format (specified with -c).

-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:

  • status
  • priority
  • owner/assigned
  • component/product
  • summary/descriptor
  • tags like "bite size"

IRC Demo

Log into IRC and join the #openhatch channel.

Forgot to install? Go here.

Show:

  • 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