From 6d4c19707ef95942e323cbdc89fbbfdbe45e7cc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Stenberg?= Date: Mon, 8 Jan 2007 23:52:01 +0000 Subject: Splitting out www git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11952 a1c6a512-1295-4272-9138-f99709370657 --- www/docs/patch.t | 99 -------------------------------------------------------- 1 file changed, 99 deletions(-) delete mode 100644 www/docs/patch.t (limited to 'www/docs/patch.t') diff --git a/www/docs/patch.t b/www/docs/patch.t deleted file mode 100644 index ab43ed1..0000000 --- a/www/docs/patch.t +++ /dev/null @@ -1,99 +0,0 @@ -#define _PAGE_ How To Work With Patches -#include "head.t" -

- When we speak of 'patches' in the Rockbox project, we mean a set of changes - to one or more source files. - -

Tools Of The Trade

-

-Use the tools 'diff' and 'patch'. Preferably the GNU versions. They're readily -available for all imaginable platforms. -

-Try one of these: -

- -

Newlines

-

- These tools will assume and operate on "unix-style" newlines. That means all -files that you're diffing and patching etc must have LF newlines only, and -not the Windows/DOS standard CRLF newlines, -

- Not complying to this simple fact will cause you grief. Mark my words. - -

Creating A Patch

-

- We generate diffs (often called patches) using 'diff' in a manner similar to -this: -

-  diff -u oldfile newfile > patch
-
-

- People who have checked out code with CVS can do diffs using cvs like this: -

-  cvs diff -u file > patch
-
-

- 'diff' can also be used on a whole directory etc to generate one file with -changes done to multiple: -

-  diff -u olddir newdir > patch 
-
-

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

Submitting A Patch

- -

All patches that are meant for inclusion in the sources should follow the -format listed on the Contributing to Rockbox -page, and be posted to the patch -tracker. Patches sent to the mailing list are quickly lost in the traffic -of the list itself. - -

- Please keep in mind that not all submitted patches will be accepted. - -

Applying A Patch

-

- Applying a 'patch' (output from diff -u) is done with the 'patch' tool: -

-  cd to/source/root
-  patch < patchfile
-
-

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

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

-  patch -p0 < patchfile
-  patch -p1 < patchfile
-  patch -p2 < patchfile
-
- ... each example line removes one extra level of dir info from the left. -

- You can use the --dry-run option to patch to make sure that the patch applies -clean. It doesn't actually apply the patch, only prints what would happen if -you run it. -

Removing A Patch

-

- You can remove a patch again from the sources by doing the reverse action of -a specific patch. You do this with the -R (or --reverse) options, such as: -

-  patch -p1 -R < patchfile
-
- -#include "foot.t" -- cgit v1.1