[ << Working with source code ] | [Top][Contents][Index][ ? ] | [ Compiling >> ] | ||
[ < yet more repositories ] | [ Up : Starting with Git ] | [ Organization of remote branches > ] |
3.2.4 Downloading remote branches
Note: contains obsolete + misleading info
Organization of remote branches | ||
LilyPond repository sources | ||
Downloading individual branches | ||
Downloading all remote branches | ||
Other branches |
[ << Working with source code ] | [Top][Contents][Index][ ? ] | [ Compiling >> ] | ||
[ < Downloading remote branches ] | [ Up : Downloading remote branches ] | [ LilyPond repository sources > ] |
Organization of remote branches
The main LilyPond repository is organized into branches to facilitate development. These are often called remote branches to distinguish them from local branches you might create yourself (see Using local branches).
The master
branch contains all the source files used to
build LilyPond, which includes the program itself (both stable and
development releases), the documentation (and its translations),
and the website. Generally, the master
branch is expected
to compile successfully.
The translation
branch is a side branch that
allows translators to work without needing to worry about
compilation problems. Periodically, the Translation Meister
(after verifying that it doesn’t break compilation), will
merge this branch into staging
to incorporate
recent translations. Similarly, the master
branch is
usually merged into the translation
branch after
significant changes to the English documentation. See
Translating the documentation for details.
[ << Working with source code ] | [Top][Contents][Index][ ? ] | [ Compiling >> ] | ||
[ < Organization of remote branches ] | [ Up : Downloading remote branches ] | [ Downloading individual branches > ] |
LilyPond repository sources
The recommended source for downloading a copy of the main repository is:
git://git.sv.gnu.org/lilypond.git
However, if your internet router filters out connections using the GIT protocol, or if you experience difficulty connecting via GIT, you can try these other sources:
ssh://git.sv.gnu.org/srv/git/lilypond.git http://git.sv.gnu.org/r/lilypond.git
The SSH protocol can only be used if your system is properly set up to use it. Also, the HTTP protocol is slowest, so it should only be used as a last resort.
[ << Working with source code ] | [Top][Contents][Index][ ? ] | [ Compiling >> ] | ||
[ < LilyPond repository sources ] | [ Up : Downloading remote branches ] | [ Downloading all remote branches > ] |
Downloading individual branches
Note: obsolete, should be deleted!
Once you have initialized an empty Git repository on your system (see Initializing a repository), you can download a remote branch into it. Make sure you know which branch you want to start with.
To download the master
branch, enter the following:
git remote add -ft master -m master \ origin git://git.sv.gnu.org/lilypond.git/
To download the translation
branch, enter:
git remote add -ft translation -m \ translation origin git://git.sv.gnu.org/lilypond.git/
The git remote add
process could take up to
ten minutes, depending on the speed of your connection. The
output will be something like this:
Updating origin remote: Counting objects: 235967, done. remote: Compressing objects: 100% (42721/42721), done. remote: Total 235967 (delta 195098), reused 233311 (delta 192772) Receiving objects: 100% (235967/235967), 68.37 MiB | 479 KiB/s, done. Resolving deltas: 100% (195098/195098), done. From git://git.sv.gnu.org/lilypond * [new branch] master -> origin/master From git://git.sv.gnu.org/lilypond * [new tag] flower/1.0.1 -> flower/1.0.1 * [new tag] flower/1.0.10 -> flower/1.0.10 ⋮ * [new tag] release/2.9.6 -> release/2.9.6 * [new tag] release/2.9.7 -> release/2.9.7
When git remote add
is finished, the remote
branch should be downloaded into your repository—though not yet
in a form that you can use. In order to browse the source code
files, you need to create and checkout your own
local branch. In this case, however, it is easier to have Git
create the branch automatically by using the checkout
command on a non-existent branch. Enter the following:
git checkout -b branch origin/branch
where branch
is the name of your tracking branch,
either master
or translation
.
Git will issue some warnings; this is normal:
warning: You appear to be on a branch yet to be born. warning: Forcing checkout of origin/master. Branch master set up to track remote branch master from origin. Already on 'master'
By now the source files should be accessible—you should be able to edit any files in the ‘$LILYPOND_GIT’ directory using a text editor of your choice. But don’t start just yet! Before editing any source files, learn how to keep your changes organized and prevent problems later—read Basic Git procedures.
Technical Details
The git remote add
command should add some
lines to your local repository’s ‘.git/config’ file:
[remote "origin"] url = git://git.sv.gnu.org/lilypond.git/ fetch = +refs/heads/master:refs/remotes/origin/master
[ << Working with source code ] | [Top][Contents][Index][ ? ] | [ Compiling >> ] | ||
[ < Downloading individual branches ] | [ Up : Downloading remote branches ] | [ Other branches > ] |
Downloading all remote branches
To download all remote branches at once, you can clone
the entire repository:
git clone git://git.sv.gnu.org/lilypond.git
[ << Working with source code ] | [Top][Contents][Index][ ? ] | [ Compiling >> ] | ||
[ < Downloading all remote branches ] | [ Up : Downloading remote branches ] | [ Basic Git procedures > ] |
Other branches
Most contributors will never need to touch the other branches. If you wish to do so, you will need more familiarity with Git; please see Other Git documentation.
-
dev/XYZ
: These branches are for individual developers. They store code which is not yet stable enough to be added to themaster
branch. -
stable/XYZ
: The branches are kept for archival reasons. -
archive/XYZ
: The branches are kept for archival reasons.
[ << Working with source code ] | [Top][Contents][Index][ ? ] | [ Compiling >> ] | ||
[ < Downloading all remote branches ] | [ Up : Downloading remote branches ] | [ Basic Git procedures > ] |