FLOSS Manuals

 English |  Español |  Français |  Italiano |  Português |  Русский |  Shqip

Practical Open Source Software Engineering

PracticalOSSEngineering: FixingTheCodePatchesWelcome

Fixing the Code: Patches Welcome

 
Have you ever gotten an email that looked something like this?

<pre>
Jim,

I've attached our paper draft from last Tuesday, from before we
took out all the Tom Sawyer quotes that Prof. Henson actually wanted
us to leave in.

(this one should go right after the third paragraph)
"Like it? Well, I don't see why I oughtn't to like it. Does a boy get
a chance to whitewash a fence every day?"

(this one should go at the beginning of the second section, but after the picture)
"Boys, I know who's drownded--it's us!"

The last one is in the closing paragraph, but Terrence completely rewrote
that over the weekend so we have to figure out where to put the bit about
the picnic in the cave now, since it no longer fits in.

--Molly
</pre>

If so, you've made a patch. According to Wikipedia <ref>http://en.wikipedia.org/wiki/Patch_(computing)</ref>, a patch "is a piece of software designed to fix problems[1] with, or update a computer program or its supporting data." In the open source world, patches are usually text files that contain the differences between two versions of a piece of code. There are programs to help you automatically create and merge in those files.

=== What is a "patch"? =

=== What's the diff?  Using RCS to figure out what's changed =

Sometimes you've changed something and you don't remember exactly what you changed.  Sometimes somebody else changed something while you were working.  This section will cover how to use your RCS tool to update to the latest revision set, and how to figure out what your diffs are.

=== How to create a simple patch =

Put it all together.  How to change something locally and wrap it up into a patch.

=== Case study: Release Early, Release Often =

Why it's a bad idea to let large patches build up, and how to resist temptation, with copious examples of why not following RERO is a bad idea.

== Exercise: Creating a Patch ==

The student should create a simple patch and demonstrate that it applies properly against his or her chosen project.

== Committer access ==

=== What is a "committer"? =

=== When do you become a committer? =

=== What are the responsibilities of the committer? =

=== How to apply a patch to code and commit that patch =

== Exercise: Applying a Patch ==

There has been error in communication with Booktype server. Not sure right now where is the problem.

You should refresh this page.