


PATCHES(1)            LilyPond documentation           PATCHES(1)


NAME
       PATCHES - track and distribute your code changes

DESCRIPTION
       This page documents how to distribute your changes to GNU
       LilyPond

ABSTRACT
       Distributing a change normally goes like this:

       o    make your fix/add your code

       o    generate a patch,

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

GENERATING A PATCH
       In VERSION, set TOPLEVEL_MY_PATCH_LEVEL:

           VERSION:
               ...
               TOPLEVEL_MY_PATCH_LEVEL = jcn1

       In NEWS, 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 ./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


PREREQUISITES
       For creating a patch you need

       o    All items mentioned in INSTALL.  You're not going to
            send a patch that you haven't even built, right?

       o    GNU Diff




28/Apr/98                LilyPond 0.1.60                        1





PATCHES(1)            LilyPond documentation           PATCHES(1)


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

       o    The Lily directory structure, which looks like:

                lilypond-0.1.48/
                patches/
                releases/
                test/


       If you're following LilyPond development regularly, you
       probably want to download just the patch for each
       subsequent release.  After downloading the patch (into the
       patches directory, of course), simply apply it:

           gzip -dc ../patches/patch-0.1.49.gz | patch -p1 -E

       and don't forget to make automatically generated files:

           autoconf 1)
           configure


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
           gzip -dc ../patches/patch-0.1.48.jcn1.gz | patch -p1 -E
           autoconf 1)
           configure

       Then, make a patch as shown above.

       1) patches don't include automatically generated files,
       i.e. configure
          and files generated by configure.

MAINTAINER
       Han-Wen Nienhuys <hanwen@cs.ruu.nl>



28/Apr/98                LilyPond 0.1.60                        2





PATCHES(1)            LilyPond documentation           PATCHES(1)


       Just keep on sending those patches!
























































28/Apr/98                LilyPond 0.1.60                        3


