[ << Introduction to contributing ] | [Top][Contents][Index][ ? ] | [ Working with source code >> ] | ||
[ < Help us ] | [ Up : Introduction to contributing ] | [ Mentors > ] |
1.2 Overview of work flow
Ultra-short summary for Unix developers: source code is at
|
Git is a version control system that tracks the history of a program’s source code. The LilyPond source code is maintained as a Git repository, which contains:
- all of the source files needed to build LilyPond, and
- a record of the entire history of every change made to every file since the program was born.
The ‘official’ LilyPond Git repository is hosted by the GNU Savannah software forge at http://git.sv.gnu.org. Although, since Git uses a 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 patches. A patch
is a simple text file generated by the 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 push the patch to the official repository.
The Savannah software forge provides two separate interfaces for
viewing the LilyPond Git repository online: cgit and
gitweb. The cgit interface should work faster than gitweb
in most situations, but only gitweb allows you to search through
the source code using grep
, which you may find useful.
The cgit interface is at
http://git.sv.gnu.org/cgit/lilypond.git/ and the gitweb
interface is at
http://git.sv.gnu.org/gitweb/?p=lilypond.git.
Git is a complex and powerful tool, but tends to be confusing at
first, particularly for users not familiar with the command line
and/or version control systems. Contributors who don’t want to
deal with Git directly are encouraged to use the
lily-git
graphical user interface instead.
Compiling (‘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.
Contributors can contact the developers through the ‘lilypond-devel’ mailing list. The mailing list archive is located at http://lists.gnu.org/archive/html/lilypond-devel/. If you have a question for the developers, search the archives first to see if the issue has already been discussed. Otherwise, send an email to lilypond-devel@gnu.org. You can subscribe to the developers’ mailing list here: http://lists.gnu.org/mailman/listinfo/lilypond-devel.
[ << Introduction to contributing ] | [Top][Contents][Index][ ? ] | [ Working with source code >> ] | ||
[ < Help us ] | [ Up : Introduction to contributing ] | [ Mentors > ] |