From 290ed28568a3c09fd128ac758a0b36f7a0da745c Mon Sep 17 00:00:00 2001 From: Mark Polesky Date: Mon, 4 Jan 2010 23:48:57 -0800 Subject: [PATCH] Doc: Add CG `Introduction to contributing'. --- Documentation/contributor.texi | 2 + Documentation/contributor/git-for-developers.itexi | 46 +++++++++++ Documentation/contributor/introduction.itexi | 84 ++++++++++++++++++++ 3 files changed, 132 insertions(+), 0 deletions(-) create mode 100644 Documentation/contributor/git-for-developers.itexi create mode 100644 Documentation/contributor/introduction.itexi diff --git a/Documentation/contributor.texi b/Documentation/contributor.texi index 4af6e6f..e5077d3 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 address@hidden contributor/introduction.itexi @include contributor/git-starting.itexi @include contributor/compiling.itexi @include contributor/doc-work.itexi diff --git a/Documentation/contributor/git-for-developers.itexi b/Documentation/contributor/git-for-developers.itexi new file mode 100644 index 0000000..3534c30 --- /dev/null +++ b/Documentation/contributor/git-for-developers.itexi @@ -0,0 +1,46 @@ address@hidden -*- coding: us-ascii; mode: texinfo; -*- + address@hidden not sure where this should go yet address@hidden Git commands for developers address@hidden Git commands for developers + + +Initialize an empty Git repository: + address@hidden +$ mkdir ~/lilypond-git/; cd ~/lilypond-git/ +$ git init address@hidden example + + +Configure Git: + address@hidden +$ git config --global user.name "@emph{John Doe}" +$ git config --global user.email @emph{john@@example.com} +$ git config --global core.editor @emph{my_editor} +$ git config --global color.ui auto address@hidden example + + +Download remote @q{master} branch to local repository: + address@hidden +$ git remote add -ft master -m master origin \ + git://git.sv.gnu.org/lilypond.git/ +$ git checkout -b master origin/master address@hidden example + + +Download remote @q{lilypond/translation} branch to local +repository: + address@hidden +$ git remote add -ft lilypond/translation -m \ + lilypond/translation origin git://git.sv.gnu.org/lilypond.git/ +$ git checkout -b lilypond/translation origin/lilypond/translation address@hidden example + + +... more to follow ... + diff --git a/Documentation/contributor/introduction.itexi b/Documentation/contributor/introduction.itexi new file mode 100644 index 0000000..f151c83 --- /dev/null +++ b/Documentation/contributor/introduction.itexi @@ -0,0 +1,84 @@ address@hidden -*- coding: us-ascii; mode: texinfo; -*- + address@hidden Introduction to contributing address@hidden Introduction to contributing + + address@hidden +* Overview of tasks:: +* For unix developers:: +* For other contributors:: address@hidden menu + + address@hidden Overview of tasks address@hidden Overview of tasks + + address@hidden Graham wrote: address@hidden The intro should contain the "help us" material from web/, address@hidden quite possibly as the very first thing. This requires address@hidden having a macro for it, which depends on issue 939. James address@hidden said that he might take a look at it, but it's a bit address@hidden complicated for a new contributor. + + address@hidden For unix developers address@hidden For unix developers + + address@hidden make a `Git for developers' appendix? + + address@hidden For other contributors address@hidden For other contributors + + +The LilyPond source code is maintained as a Git repository, which +contains: + address@hidden address@hidden +all of the source files needed to build LilyPond, and + address@hidden +a record of the entire history of every change made to every file +since the program was born. address@hidden 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. + + address@hidden Is this helpful or just redundant? : + address@hidden To put it simply, if you only want to use the program, you only address@hidden need to install it. If you want to modify source files and address@hidden create patches for development, then you need a Git repository address@hidden (technically you don't even need an installed copy of the address@hidden program, but it helps). But if you want modify source files address@hidden and see how your changes affect the finished product, then address@hidden you'll need a Git repository @emph{and} you'll need to compile address@hidden the program on your own. + + -- 1.6.3.3