
LilyPond The music typesetter Contributor's Guide The LilyPond development team This manual documents contributing to LilyPond version 2.18.2. It discusses technical issues ¨ and policies that contributors should follow. This manual is not intended to be read sequentially; new contributors should only read the sections which are relevant to them. For more information about different jobs, see Section \Help us" in General Information. © For more information about how this manual fits with the other documentation, or to read this ¨ manual in other formats, see Section \Manuals" in General Information. If you are missing any manuals, the complete documentation can be found at http://www.lilypond.org/. © Copyright c 2007{2012 by the authors. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections. A copy of the license is included in the section entitled \GNU Free Documentation License". For LilyPond version 2.18.2 i Table of Contents 1 Introduction to contributing:::::::::::::::::::::::::::::::::: 1 1.1 Help us:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1 1.2 Overview of work flow ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 2 1.3 Summary for experienced developers ::::::::::::::::::::::::::::::::::::::::::::::: 2 1.4 Mentors ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2 Quick start ::::::::::::::::::::::::::::::::::::::::::::::::::::: 5 2.1 LilyDev ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 5 Where to get LilyDev:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 5 Installing LilyDev in VirtualBox ::::::::::::::::::::::::::::::::::::::::::::::::::::: 5 Configuring LilyDev in VirtualBox::::::::::::::::::::::::::::::::::::::::::::::::::: 7 2.2 lily-git::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 7 Where to get lily-git ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 7 Configuring lily-git and downloading the source code ::::::::::::::::::::::::::::::::: 8 How to use lily-git ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 2.3 Compiling with LilyDev :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 10 2.4 Now start work! :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 11 3 Working with source code ::::::::::::::::::::::::::::::::::: 12 3.1 Manually installing lily-git.tcl::::::::::::::::::::::::::::::::::::::::::::::::::::: 12 3.2 Starting with Git::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 12 3.2.1 Setting up ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 13 Installing Git:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 13 Initializing a repository :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 13 Configuring Git ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 13 3.2.2 Git for the impatient :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 14 3.2.3 Other repositories ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 17 lilypond-extra ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 17 Grand Unified Builder (GUB) ::::::::::::::::::::::::::::::::::::::::::::::::::: 18 lilypad :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 18 yet more repositories :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 18 3.2.4 Downloading remote branches ::::::::::::::::::::::::::::::::::::::::::::::: 18 Organization of remote branches::::::::::::::::::::::::::::::::::::::::::::::::: 18 LilyPond repository sources ::::::::::::::::::::::::::::::::::::::::::::::::::::: 18 Downloading individual branches :::::::::::::::::::::::::::::::::::::::::::::::: 19 Downloading all remote branches :::::::::::::::::::::::::::::::::::::::::::::::: 20 Other branches :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 20 3.3 Basic Git procedures ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 20 3.3.1 The Git contributor's cycle :::::::::::::::::::::::::::::::::::::::::::::::::: 20 3.3.2 Pulling and rebasing::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 20 3.3.3 Using local branches ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 21 Creating and removing branches ::::::::::::::::::::::::::::::::::::::::::::::::: 22 Listing branches and remotes :::::::::::::::::::::::::::::::::::::::::::::::::::: 22 Checking out branches :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 22 Merging branches ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 22 3.3.4 Commits and patches:::::::::::::::::::::::::::::::::::::::::::::::::::::::: 22 Understanding commits ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 22 ii Making commits :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 23 Commit messages ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 23 Making patches ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 24 Uploading a patch for review :::::::::::::::::::::::::::::::::::::::::::::::::::: 24 3.4 Advanced Git procedures ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 26 3.4.1 Merge conflicts :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 27 3.4.2 Advanced Git concepts :::::::::::::::::::::::::::::::::::::::::::::::::::::: 27 3.4.3 Resolving conflicts ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 28 3.4.4 Reverting all local changes::::::::::::::::::::::::::::::::::::::::::::::::::: 28 3.4.5 Working with remote branches ::::::::::::::::::::::::::::::::::::::::::::::: 28 3.4.6 Git log :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 29 3.4.7 Applying remote patches :::::::::::::::::::::::::::::::::::::::::::::::::::: 29 3.4.8 Sending and receiving patches via email:::::::::::::::::::::::::::::::::::::: 29 3.4.9 Cleaning up multiple patches :::::::::::::::::::::::::::::::::::::::::::::::: 30 3.4.10 Commit access ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 30 3.4.11 Pushing to staging ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 33 3.5 Git on Windows:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 33 3.5.1 Background to nomenclature::::::::::::::::::::::::::::::::::::::::::::::::: 34 3.5.2 Installing git :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 34 3.5.3 Initialising Git::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 34 3.5.4 Git GUI ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 35 3.5.5 Personalising your local git repository:::::::::::::::::::::::::::::::::::::::: 35 3.5.6 Checking out a branch::::::::::::::::::::::::::::::::::::::::::::::::::::::: 35 3.5.7 Updating files from `remote/origin/master'::::::::::::::::::::::::::::::::::: 36 3.5.8 Editing files ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 36 3.5.9 Sending changes to `remotes/origin/master' :::::::::::::::::::::::::::::::::: 37 3.5.10 Resolving merge conflicts ::::::::::::::::::::::::::::::::::::::::::::::::::: 37 3.5.11 Other actions :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 37 3.6 Repository directory structure :::::::::::::::::::::::::::::::::::::::::::::::::::: 38 3.7 Other Git documentation::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 40 4 Compiling ::::::::::::::::::::::::::::::::::::::::::::::::::::: 41 4.1 Overview of compiling :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 41 4.2 Requirements :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 41 4.2.1 Requirements for running LilyPond :::::::::::::::::::::::::::::::::::::::::: 41 4.2.2 Requirements for compiling LilyPond :::::::::::::::::::::::::::::::::::::::: 41 4.2.3 Requirements for building documentation :::::::::::::::::::::::::::::::::::: 42 4.3 Getting the source code :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 43 4.4 Configuring make ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 43 4.4.1 Running ./autogen.sh:::::::::::::::::::::::::::::::::::::::::::::::::::::: 43 4.4.2 Running ../configure:::::::::::::::::::::::::::::::::::::::::::::::::::::: 44 Configuration options ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 44 Checking build dependencies :::::::::::::::::::::::::::::::::::::::::::::::::::: 44 Configuring target directories :::::::::::::::::::::::::::::::::::::::::::::::::::: 44 4.5 Compiling LilyPond :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 45 4.5.1 Using make :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 45 4.5.2 Saving time with the `-j' option ::::::::::::::::::::::::::::::::::::::::::::: 45 4.5.3 Compiling for multiple platforms::::::::::::::::::::::::::::::::::::::::::::: 45 4.5.4 Useful make variables :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 46 4.6 Post-compilation options ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 46 4.6.1 Installing LilyPond from a local build :::::::::::::::::::::::::::::::::::::::: 46 4.6.2 Generating documentation ::::::::::::::::::::::::::::::::::::::::::::::::::: 46 Documentation editor's edit/compile cycle ::::::::::::::::::::::::::::::::::::::: 46 Building documentation ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 47 iii Building a single
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages223 Page
-
File Size-