☛ ✟ ✡ ✠ ☛ ✟ ✡ ✠ The music typesetter This manual documents contributing to LilyPond version 2.20.0. 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 Contributor’s Guide. 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://lilypond.org/. Copyright ⃝c 2007–2015 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.20.0 The LilyPond development team LilyPond Contributor’s Guide i 1.1 Help us ................................................... ......................... 1 1.2 Overview of work flow ................................................... .......... 2 1.3 Summary for experienced developers ............................................... 2 1.4 Mentors ................................................... ........................ 3 2.1 LilyDev................................................... ......................... 5 Installing LilyDev in VirtualBox ................................................... .. 5 Configuring LilyDev in VirtualBox ................................................... 6 2.2 lily-git ................................................... .......................... 7 Where to get lily-git ................................................... .............. 7 Using lily-git to download the source code ............................................ 7 How to use lily-git ................................................... ................ 8 2.3 git-cl ................................................... ........................... 9 Installing git-cl ................................................... ................ 10 Updating git-cl ................................................... ................ 10 Configuring git-cl ................................................... .............. 10 2.4 Compiling with LilyDev ................................................... ....... 12 2.5 Now start work! ................................................... ............... 13 3.1 Manually installing lily-git.tcl ................................................... .. 14 3.2 Starting with Git ................................................... .............. 14 3.2.1 Setting up ................................................... ................ 15 Installing Git ................................................... ................. 15 Initializing a repository ................................................... ....... 15 Configuring Git................................................... ............... 15 3.2.2 Git for the impatient................................................... ...... 16 3.2.3 Other repositories................................................... ......... 19 lilypond-extra ................................................... ................ 20 Grand Unified Builder (GUB)................................................... 20 LilyPad................................................... ....................... 20 yet more repositories................................................... .......... 21 3.2.4 Downloading remote branches ................................................ 21 Organization of remote branches ................................................. 21 LilyPond repository sources ................................................... ... 21 Downloading individual branches................................................. 21 Downloading all remote branches ................................................ 22 Other branches ................................................... ............... 22 3.3 Basic Git procedures................................................... ........... 23 3.3.1 The Git contributor’s cycle................................................... 23 3.3.2 Pulling and rebasing ................................................... ...... 23 3.3.3 Using local branches ................................................... ...... 24 Creating and removing branches ................................................. 24 Listing branches and remotes ................................................... 24 Checking out branches ................................................... ........ 24 1 Introduction to contributing .................................. 1 2 Quick start................................................... ... 5 3 Working with source code .................................... 14 Table of Contents ii Merging branches ................................................... ............. 25 3.3.4 Commits................................................... .................. 25 Understanding commits ................................................... ....... 25 How to make a commit ................................................... ....... 25 Commit messages................................................... ............. 26 3.3.5 Patches ................................................... ................... 26 How to make a patch ................................................... ......... 26 Emailing patches ................................................... ............. 27 3.3.6 Uploading a patch for review ................................................. 27 3.3.7 The patch review cycle ................................................... .... 29 3.4 Advanced Git procedures ................................................... ...... 30 3.4.1 Merge conflicts................................................... ............ 30 3.4.2 Advanced Git concepts................................................... .... 30 3.4.3 Resolving conflicts ................................................... ........ 31 3.4.4 Reverting all local changes ................................................... 31 3.4.5 Working with remote branches ............................................... 31 3.4.6 Git log................................................... .................... 32 3.4.7 Applying remote patches ................................................... .. 32 3.4.8 Cleaning up multiple patches................................................. 32 3.4.9 Commit access ................................................... ............ 33 3.4.10 Pushing to staging ................................................... ....... 35 3.5 Git on Windows ................................................... ............... 36 3.5.1 Background to nomenclature ................................................. 36 3.5.2 Installing git ................................................... .............. 37 3.5.3 Initialising Git ................................................... ............ 37 3.5.4 Git GUI ................................................... .................. 38 3.5.5 Personalising your local git repository ........................................ 38 3.5.6 Checking out a branch ................................................... .... 38 3.5.7 Updating files from ‘remote/origin/master’ ................................... 38 3.5.8 Editing files................................................... ............... 39 3.5.9 Sending changes to ‘remotes/origin/master’ .................................. 39 3.5.10 Resolving merge conflicts ................................................... 40 3.5.11 Other actions ................................................... ............ 40 3.6 Repository directory structure ................................................... 40 3.7 Other Git documentation ................................................... ...... 43 4.1 Overview of compiling ................................................... ......... 44 4.2 Requirements ................................................... .................. 44 4.2.1 Requirements for running LilyPond .......................................... 44 4.2.2 Requirements for compiling LilyPond......................................... 45 Fedora................................................... ........................ 45 Linux Mint ................................................... ................... 46 OpenSUSE ................................................... ................... 46 Ubuntu................................................... ....................... 47 Other ................................................... ........................ 48 4.2.3 Requirements for building documentation .................................... 48 4.3 Getting the source code ................................................... ........ 49 4.4 Configuring make ................................................... .............. 50 4.4.1 Running ./autogen.sh ................................................... ... 50 4.4.2 Running ../configure ................................................... ... 50 Configuration options ................................................... ......... 50 Checking build dependencies ................................................... .. 50 Configuring target directories ................................................... 51 4
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages235 Page
-
File Size-