In Contributor's Guide

In Contributor's Guide

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

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    223 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us