diff options
author | Daniel Stenberg <daniel@haxx.se> | 2003-02-20 16:29:37 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2003-02-20 16:29:37 +0000 |
commit | 20fb06ac2b5fe511c167c7eeb282e6cd1568465f (patch) | |
tree | 2d99c0c9221288105c280c52edabc2da233b46cb /www | |
parent | 3e44579f1e1385f4ea3eec8ac9fe1e6cbdedb20c (diff) | |
download | rockbox-20fb06ac2b5fe511c167c7eeb282e6cd1568465f.tar.gz rockbox-20fb06ac2b5fe511c167c7eeb282e6cd1568465f.zip |
How To Work With Patches
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3296 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'www')
-rw-r--r-- | www/docs/patch.t | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/www/docs/patch.t b/www/docs/patch.t new file mode 100644 index 0000000000..8c601b0b14 --- /dev/null +++ b/www/docs/patch.t @@ -0,0 +1,58 @@ +#define _PAGE_ How To Work With Patches +#include "head.t" + +<h2>Tools Of The Trade</h2> +<p> +Use the tools 'diff' and 'patch'. Preferably the GNU versions. They're readily +available for all imaginable platforms. +<p> +[Add favourite diff/patch links here] + +<h2>Creating A Patch</h2> +<p> + We generate diffs (often called patches) using 'diff' in a manner similar to +this: +<pre> + diff -u oldfile newfile > patch +</pre> +<p> + People who have checked out code with CVS can do diffs using cvs like this: +<pre> + cvs diff -u file > patch +</pre> +<p> + 'diff' can also be used on a whole directory etc to generate one file with +changes done to multiple: +<pre> + diff -u olddir newdir > patch +</pre> +<p> + The -u option means the output is using the 'unified diff' format. Older + diff programs don't have that, and then -c (for 'context diff') is OK. + +<h2>Applying A Patch</h2> +<p> + Applying a 'patch' (output from diff -u) is done with the 'patch' tool: +<pre> + patch < patchfile +</pre> +<p> + patch knows that the patchfile is a set of changes on one or more files, and +will do those to your local files. If your files have changed too much for the +patch to work, it will save the sections of the patch that aren't possible to +apply in a file called "filename.rej" (filename being the name of the file for +which the failing section was intended for). Then you must take care of them +manually. + +<p> + If there is path information in the patchfile that you want to cut off + from the left, tell patch how many directory levels to cut off to find the + names in your file system: +<pre> + patch -p0 < patchfile + patch -p1 < patchfile + patch -p2 < patchfile +</pre> + ... each example line removes one extra level of dir info from the left. + +#include "foot.t" |