lilypond-0.1.56
[lilypond.git] / PATCHES
blob286d0c3c478c1ab7307db6ed05abce491f94fca8
4 PATCHES(1)            LilyPond documentation           PATCHES(1)
7 NAME
8        PATCHES - track and distribute your code changes
10 DESCRIPTION
11        This page documents how to distribute your changes to GNU
12        LilyPond
14 ABSTRACT
15        Distributing a change normally goes like this:
17        o    make your fix/add your code
19        o    generate a patch,
21        o    e-mail your patch to one of the mailing lists gnu-
22             music-discuss@gnu.org or bug-gnu-music@gnu.org (or if
23             you're a bit shy, to the maintainer).
25 GENERATING A PATCH
26        In VERSION, set TOPLEVEL_MY_PATCH_LEVEL:
28            VERSION:
29                ...
30                TOPLEVEL_MY_PATCH_LEVEL = jcn1
32        In NEWS, enter a summary of changes:
34            NEWS:
35                pl 0.1.48.jcn1
36                        - added PATCHES.pod
38        Then, type something like
40            make-dist
41            mv out/lilypond-0.1.48.jcn1.tar.gz ../releases
42            make-patch
44        which leaves your patch as ./patch-0.1.48.jcn1.
46        or even simpler:
48            release
50            tar-ball: ../patches/patch-0.1.48.jcn1.gz
51            patch: ../patches/patch-0.1.48.jcn1.gz
52            updeet: ../test/updeet
55 PREREQUISITES
56        For creating a patch you need
58        o    All items mentioned in INSTALL.  You're not going to
59             send a patch that you haven't even built, right?
64 13/Mar/98                LilyPond 0.1.48                        1
70 PATCHES(1)            LilyPond documentation           PATCHES(1)
73        o    GNU Diff
75        o    Python (version 1.4 or newer).  You can of course
76             make a patch by hand, which would go something like:
78                 make distclean
79                 cd ..
80                 diff -urN lilypond-0.1.48 lilypond-0.1.48.jcn1 > patch-0.1.48.jcn1
82             but there are handy python scripts available.  If
83             you're doing development, you'll need Python for
84             other LilyPond scripts anyway.
86        o    The Lily directory structure, which looks like:
88                 lilypond-0.1.48/
89                 patches/
90                 releases/
91                 test/
94        If you're not very quick with sending your patch, there's
95        a good chance that an new release of LilyPond comes
96        available.  In such a case (and sometimes for other unkown
97        reasons :-), the maintainer will probably ask you to make
98        a new patch against the latest release.  Your best bet is
99        to download the latest release, and apply your patch
100        against this new source tree:
102            cd lilypond-0.1.49
103            zpatch -p0 -E < ../patches/patch-0.1.48.jcn1.gz
105        Then, make a patch as shown above.
107 MAINTAINER
108        Han-Wen Nienhuys <hanwen@cs.ruu.nl>
110        Just keep on sending those patches!
130 13/Mar/98                LilyPond 0.1.48                        2