3 PATCHES - track and distribute your code changes
7 This page documents how to distribute your changes to GNU LilyPond
11 Distributing a change normally goes like this:
17 make your fix/add your code
25 e-mail your patch to one of the mailing lists
26 gnu-music-discuss@gnu.org or bug-gnu-music@gnu.org
27 (or if you're a bit shy, to the maintainer).
31 =head1 GENERATING A PATCH
33 In F<VERSION>, set TOPLEVEL_MY_PATCH_LEVEL:
37 TOPLEVEL_MY_PATCH_LEVEL = jcn1
39 In F<NEWS>, enter a summary of changes:
45 Then, from the top of Lily's source tree, type
49 which leaves your patch as F<./patch-0.1.48.jcn1>.
51 If you didn't configure Lily using --srcdir, you can do:
55 tar-ball: ../patches/patch-0.1.48.jcn1.gz
56 patch: ../patches/patch-0.1.48.jcn1.gz
57 updeet: ../test/updeet
61 For creating a patch you need
67 All items mentioned in F<INSTALL>. You're not going to send a patch
68 that you haven't even built, right?
76 Python (version 1.4 or newer).
77 You can of course make a patch by hand, which would go something like:
81 diff -urN lilypond-0.1.48 lilypond-0.1.48.jcn1 > patch-0.1.48.jcn1
83 but there are handy python scripts available. If you're doing development,
84 you'll need Python for other LilyPond scripts anyway.
88 The Lily directory structure, which looks like:
99 If you're not very quick with sending your patch, there's a good chance
100 that an new release of LilyPond comes available. In such a case (and
101 sometimes for other unkown reasons :-), the maintainer will probably ask
102 you to make a new patch against the latest release.
103 Your best bet is to download the latest release, and apply your patch
104 against this new source tree:
107 zpatch -p0 -E < ../patches/patch-0.1.48.jcn1.gz
109 Then, make a patch as shown above.
113 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
115 Just keep on sending those patches!