From 89c79016c99ca97ee8fcb720c1128f1a0336eaf6 Mon Sep 17 00:00:00 2001 From: Mark Polesky Date: Tue, 5 Jan 2010 20:07:11 -0800 Subject: [PATCH] Doc: Add CG `Introduction to contributing'. --- Documentation/contributor.texi | 2 + Documentation/contributor/introduction.itexi | 78 ++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 Documentation/contributor/introduction.itexi diff --git a/Documentation/contributor.texi b/Documentation/contributor.texi index 4af6e6ff72..e5077d3f95 100644 --- a/Documentation/contributor.texi +++ b/Documentation/contributor.texi @@ -48,6 +48,7 @@ Copyright @copyright{} 2007--2009 by the authors. @ifnottex @menu +* Introduction to contributing:: * Starting with git:: * Compiling LilyPond:: * Documentation work:: @@ -69,6 +70,7 @@ Appendices @contents +@include contributor/introduction.itexi @include contributor/git-starting.itexi @include contributor/compiling.itexi @include contributor/doc-work.itexi diff --git a/Documentation/contributor/introduction.itexi b/Documentation/contributor/introduction.itexi new file mode 100644 index 0000000000..f91af57f79 --- /dev/null +++ b/Documentation/contributor/introduction.itexi @@ -0,0 +1,78 @@ +@c -*- coding: us-ascii; mode: texinfo; -*- + +@node Introduction to contributing +@chapter Introduction to contributing + + +@menu +* Overview of tasks:: +* For unix developers:: +* For other contributors:: +@end menu + + +@node Overview of tasks +@section Overview of tasks + + +FIXME: The intro should contain the "help us" material from web/, +quite possibly as the very first thing. This requires having a +macro for it, which depends on issue 939. + + +@node For unix developers +@section For unix developers + + +To download the LilyPond Git repository: + +@example +git clone git://git.sv.gnu.org/lilypond.git +@end example + +Documentation is built using Texinfo. Subscribe to the +developers' mailing list at +@uref{http://lists.gnu.org/mailman/listinfo/lilypond-devel} and +send well-formed Git patches to @uref{lilypond-devel@gnu.org} for +discussion. + + +@node For other contributors +@section For other contributors + + +The LilyPond source code is maintained as a Git repository, which +contains: + +@itemize +@item +all of the source files needed to build LilyPond, and + +@item +a record of the entire history of every change made to every file +since the program was born. +@end itemize + +The @q{official} LilyPond Git repository is hosted by the GNU +Savannah software forge at @uref{http://git.sv.gnu.org}. +Although, since Git uses a @q{distributed} model, technically +there is no central repository. Instead, each contributor keeps a +complete copy of the entire repository (about 116M). + +Changes made within one contributor's copy of the repository can +be shared with other contributors using @emph{patches}. A patch +is a simple text file generated by the @code{git} program that +indicates what changes have been made (using a special format). +If a contributor's patch is approved for inclusion (usually +through the mailing list), someone on the current development team +will @emph{apply} (or @q{push}) the patch to the official +repository. + +Compiling (@q{building}) LilyPond allows developers to see how +changes to the source code affect the program itself. Compiling +is also needed to package the program for specific operating +systems or distributions. LilyPond can be compiled from a local +Git repository (for developers), or from a downloaded tarball (for +packagers). Compiling LilyPond is a rather involved process, and +most contributor tasks do not require it. + -- 2.39.5