--- /dev/null
+=head1 NAME
+
+PATCHES - track and distribute your code changes
+
+=head1 DESCRIPTION
+
+This page documents how to distribute your changes to GNU LilyPond
+
+=head1 ABSTRACT
+
+Distributing a change normally goes like this:
+
+=over 5
+
+=item *
+
+make your fix/add your code
+
+=item *
+
+generate a patch,
+
+=item *
+
+e-mail your patch to one of the mailing lists
+gnu-music-discuss@gnu.org or bug-gnu-music@gnu.org
+(or if you're a bit shy, to the maintainer).
+
+=back
+
+=head1 GENERATING A PATCH
+
+In F<VERSION>, set TOPLEVEL_MY_PATCH_LEVEL:
+
+ VERSION:
+ ...
+ TOPLEVEL_MY_PATCH_LEVEL = jcn1
+
+In F<NEWS>, enter a summary of changes:
+
+ NEWS:
+ pl 0.1.48.jcn1
+ - added PATCHES.pod
+
+Then, type something like
+
+ make dist
+ mv out/lilypond-0.1.48.jcn1.tar.gz ../releases
+ make-patch
+
+which leaves your patch as F<./patch-0.1.48.jcn1>.
+
+or even simpler:
+
+ release
+
+ tar-ball: ../patches/patch-0.1.48.jcn1.gz
+ patch: ../patches/patch-0.1.48.jcn1.gz
+ updeet: ../test/updeet
+
+=head1 PREREQUISITES
+
+For creating a patch you need
+
+=over 5
+
+=item *
+
+All items mentioned in F<INSTALL>. You're not going to send a patch
+that you haven't even built, right?
+
+=item *
+
+GNU Diff
+
+=item *
+
+Python (version 1.4 or newer).
+You can of course make a patch by hand, which would go something like:
+
+ make distclean
+ cd ..
+ diff -urN lilypond-0.1.48 lilypond-0.1.48.jcn1 > patch-0.1.48.jcn1
+
+but there are handy python scripts available. If you're doing development,
+you'll need Python for other LilyPond scripts anyway.
+
+=item *
+
+The Lily directory structure, which looks like:
+
+ lilypond-0.1.48/
+ patches/
+ releases/
+ test/
+
+=back
+
+=head1 SYNCHRONISE
+
+If you're not very quick with sending your patch, there's a good chance
+that an new release of LilyPond comes available. In such a case (and
+sometimes for other unkown reasons :-), the maintainer will probably ask
+you to make a new patch against the latest release.
+Your best bet is to download the latest release, and apply your patch
+against this new source tree:
+
+ cd lilypond-0.1.49
+ zpatch -p0 -E < ../patches/patch-0.1.48.jcn1.gz
+
+Then, make a patch as shown above.
+
+=head1 MAINTAINER
+
+Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+
+Just keep on sending those patches!
+=head1 NAME
+
+PATCHES - track and distribute your code changes
+
+=head1 DESCRIPTION
+
+This page documents how to distribute your changes to GNU LilyPond
+
+=head1 ABSTRACT
+
+Distributing a change normally goes like this:
+
+=over 5
+
+=item *
+
+make your fix/add your code
+
+=item *
+
+generate a patch,
+
+=item *
+
+e-mail your patch to one of the mailing lists
+gnu-music-discuss@gnu.org or bug-gnu-music@gnu.org
+(or if you're a bit shy, to the maintainer).
+
+=back
+
+=head1 GENERATING A PATCH
+
+In F<VERSION>, set TOPLEVEL_MY_PATCH_LEVEL:
+
+ VERSION:
+ ...
+ TOPLEVEL_MY_PATCH_LEVEL = jcn1
+
+In F<NEWS>, enter a summary of changes:
+
+ NEWS:
+ pl 0.1.48.jcn1
+ - added PATCHES.pod
+
+Then, type something like
+
+ make-dist
+ mv out/lilypond-0.1.48.jcn1.tar.gz ../releases
+ make-patch
+
+which leaves your patch as F<./patch-0.1.48.jcn1>.
+
+or even simpler:
+
+ release
+
+ tar-ball: ../patches/patch-0.1.48.jcn1.gz
+ patch: ../patches/patch-0.1.48.jcn1.gz
+ updeet: ../test/updeet
+
+=head1 PREREQUISITES
+
+For creating a patch you need
+
+=over 5
+
+=item *
+
+All items mentioned in F<INSTALL>. You're not going to send a patch
+that you haven't even built, right?
+
+=item *
+
+GNU Diff
+
+=item *
+
+Python (version 1.4 or newer).
+You can of course make a patch by hand, which would go something like:
+
+ make distclean
+ cd ..
+ diff -urN lilypond-0.1.48 lilypond-0.1.48.jcn1 > patch-0.1.48.jcn1
+
+but there are handy python scripts available. If you're doing development,
+you'll need Python for other LilyPond scripts anyway.
+
+=item *
+
+The Lily directory structure, which looks like:
+
+ lilypond-0.1.48/
+ patches/
+ releases/
+ test/
+
+=back
+
+=head1 SYNCHRONISE
+
+If you're not very quick with sending your patch, there's a good chance
+that an new release of LilyPond comes available. In such a case (and
+sometimes for other unkown reasons :-), the maintainer will probably ask
+you to make a new patch against the latest release.
+Your best bet is to download the latest release, and apply your patch
+against this new source tree:
+
+ cd lilypond-0.1.49
+ zpatch -p0 -E < ../patches/patch-0.1.48.jcn1.gz
+
+Then, make a patch as shown above.
+
+=head1 MAINTAINER
+
+Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+
+Just keep on sending those patches!