=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, set TOPLEVEL_MY_PATCH_LEVEL: VERSION: ... TOPLEVEL_MY_PATCH_LEVEL = jcn1 In F, enter a summary of changes: NEWS: pl 0.1.48.jcn1 - added PATCHES.pod Then, from the top of Lily's source tree, type make-patch which leaves your patch as F<./patch-0.1.48.jcn1>. If you didn't configure Lily using --srcdir, you can do: 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. 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 Just keep on sending those patches!