=item *
+Add changes to NEWS, and add yourself to Documentation/AUTHORS.pod
+
+=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
Then, from the top of Lily's source tree, type
- make distclean # if you don't use --srcdir configure
make-patch
which leaves your patch as F<./patch-0.1.48.jcn1>.
=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:
+=head1 APPLYING PATCHES
- release
-
- tar-ball: ../patches/patch-0.1.48.jcn1.gz
- patch: ../patches/patch-0.1.48.jcn1.gz
- updeet: ../test/updeet
-
-=head1 PREREQUISITES
+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:
-For creating a patch you need
+ gzip -dc ../patches/patch-0.1.49.gz | patch -p1 -E
-=over 5
+and don't forget to make automatically generated files:
-=item *
+ autoconf 1)
+ configure
-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
against this new source tree:
cd lilypond-0.1.49
- zpatch -p0 -E < ../patches/patch-0.1.48.jcn1.gz
+ 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. F<configure>
+ and files generated by F<configure>.
+
=head1 MAINTAINER
-Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+Han-Wen Nienhuys <hanwen@cs.uu.nl>
Just keep on sending those patches!