Graham Percival wrote:
> Could we get the new introduction chapter added?  I've
> been wanting to add the info about lilypond mentors for a
> while, but I don't want to add a new chapter filled with
> stubs if you're going to add the same new chapter filled
> with real sections.

For the moment I'm just working on the Git stuff (as you
suggested).  I don't imagine the mentor stuff will conflict
too much with my current work.  If you think it might, you
can send me a patchlet with your ideas so I know what you're
envisioning.


> I think everybody liked the idea of the intro chapter,
> even if there's slight uncertainty over one section of it
> (i.e.  lily-git).  Let's get the part(s) that everybody
> agrees with done.

Okay, I've attached a patch that adds an intro.  Still
unfinished but perhaps it's worth adding as it is.  I've
also started a `Git commands for developers' node, though I
don't yet know where to put it.  Would this be better to
post on Rietveld?  It seemed small enough for the mailing
list.  Let me know.  Comments appreciated.

- Mark


      
From 290ed28568a3c09fd128ac758a0b36f7a0da745c Mon Sep 17 00:00:00 2001
From: Mark Polesky <[email protected]>
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
 
 
+...@include 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 @@
+...@c -*- coding: us-ascii; mode: texinfo; -*-
+
+...@c not sure where this should go yet
+...@node Git commands for developers
+...@section Git commands for developers
+
+
+Initialize an empty Git repository:
+
+...@example
+$ mkdir ~/lilypond-git/; cd ~/lilypond-git/
+$ git init
+...@end example
+
+
+Configure Git:
+
+...@example
+$ 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
+...@end example
+
+
+Download remote @q{master} branch to local repository:
+
+...@example
+$ git remote add -ft master -m master origin \
+  git://git.sv.gnu.org/lilypond.git/
+$ git checkout -b master origin/master
+...@end example
+
+
+Download remote @q{lilypond/translation} branch to local
+repository:
+
+...@example
+$ 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
+...@end 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 @@
+...@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
+
+
+...@c Graham wrote:
+...@c The intro should contain the "help us" material from web/,
+...@c quite possibly as the very first thing.  This requires
+...@c having a macro for it, which depends on issue 939.  James
+...@c said that he might take a look at it, but it's a bit
+...@c complicated for a new contributor.
+
+
+...@node For unix developers
+...@section For unix developers
+
+
+...@c make a `Git for developers' appendix?
+
+
+...@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.
+
+
+...@c Is this helpful or just redundant? :
+
+...@c To put it simply, if you only want to use the program, you only
+...@c need to install it.  If you want to modify source files and
+...@c create patches for development, then you need a Git repository
+...@c (technically you don't even need an installed copy of the
+...@c program, but it helps).  But if you want modify source files
+...@c and see how your changes affect the finished product, then
+...@c you'll need a Git repository @emph{and} you'll need to compile
+...@c the program on your own.
+
+
-- 
1.6.3.3

_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to