+@node git-cl
+@section git-cl
+
+@menu
+* Installing git-cl::
+* Updating git-cl::
+* Configuring git-cl::
+@end menu
+
+Git-cl is a @q{helper script} that uploads patches to Google's Rietveld
+Code Review Tool -- used by the developers for patch review -- and, at
+the same time, updates LilyPond's issue tracker.
+
+
+@node Installing git-cl
+@unnumberedsubsec Installing @code{git-cl}
+
+@warning{LilyDev users can jump straight to the next section on updating
+@command{git-cl} as it will already be installed in your home
+directory.}
+
+@enumerate
+
+@item
+Download @command{git-cl} by running the command:
+
+@example
+git clone https://github.com/gperciva/git-cl.git
+@end example
+
+@noindent
+or, if that command fails for any reason, try:
+
+@example
+git clone git://github.com/gperciva/git-cl.git
+@end example
+
+@item
+Add the @file{git-cl/} directory to your @var{PATH} or create a symbolic
+link to the @command{git-cl} and @command{upload.py} scripts in one of
+your @var{PATH} directories (e.g. @file{$HOME/bin}).
+
+In GNU/Linux you can add directories to @var{PATH} by adding this line
+to your @file{.bashrc} file located in your home directory:
+
+@example
+PATH=~/directory_containing_git-cl:"$@{PATH@}"
+@end example
+
+@end enumerate
+
+
+@node Updating git-cl
+@unnumberedsubsec Updating @code{git-cl}
+
+LilyDev users should make sure that they always have the latest
+version of git-cl installed. It is possible that changes have been
+made to git-cl that are not (yet) included in the version of LilyDev
+that you are using.
+
+@noindent
+Using a terminal run the following commands:
+
+@example
+cd ~/git-cl/
+git pull
+@end example
+
+This will download and update you to the lastest version of git-cl.
+
+
+@node Configuring git-cl
+@unnumberedsubsec Configuring @code{git-cl}
+
+Because @code{git-cl} updates two separate websites (Google's Rietveld
+Code Review Tool and LilyPond's issue tracker) you @emph{must} have a
+valid user account (login and password) for both sites.
+
+@subsubheading Set up a login account for Rietveld Code Review Tool
+
+@noindent
+For the Rietveld Code Review Tool you will need a Google account but
+this does @emph{not} require @q{Google} email address; i.e. @emph{any}
+email address for your Google account can be used. Just select the
+option @qq{I prefer to use my current email address} when you sign up
+with Google.
+
+@warning{In order for @code{git-cl} to work correctly with this Google
+account, your Google Account Settings must have the
+@q{Access for less secure apps} set to @q{Allowed} -- this is normally
+the default setting.}
+
+@subsubheading Set up a login account for LilyPond's Issue Tracker
+
+@noindent
+Please register a user account at
+@code{https://sourceforge.net/user/registration} preferably using the
+same email address that you want to use LilyPond Developer mailing list
+login.
+
+@noindent
+Once you have created this Sourceforge user account, send an email to
+the LilyPond Developer's mailing list (@code{lilypond-devel@@gnu.org})
+asking for write access to the issue tracker along with your Sourceforce
+@emph{Username} (not email address) and someone will then be able to set
+this up for you.
+
+@subsubheading Authorizing git-cl for the LilyPond issue tracker
+
+The @code{git-cl} command itself also needs to be @q{authorized} so that
+it can access the LilyPond issue tracker.
+
+@enumerate
+@item
+Once you have been given a valid login for the LilyPond issue tracker,
+go to the @q{Account settings} and select the @q{OAuth} tab.
+
+@item
+Locate the @q{Register New Application} section and enter @code{git-cl}
+in the @q{Application Name:} field.
+
+@item
+Click on the @q{Register new application} button. You should now see
+@q{git-cl} listed under the @q{My Applications} section.
+
+@item
+Click on the @q{Generate Bearer Token} button. You should now see
+@q{git-cl} listed under the @q{Authorized Applications} section along
+with a value for the @q{Bearer Token} entry. This value is used, in the
+next steps, to allow git-cl to access and update the LilyPond issue
+tracker.
+
+@end enumerate
+
+@subsubheading Installing ca-certificates
+
+In order to have @code{git-cl} properly update issues on the SourceForge
+Allura issue tracker, you must have the package @code{ca-certificates}
+installed. You can check to see if the package is installed with
+
+@example
+apt --installed list | grep ca-certificates
+@end example
+
+If @code{ca-certificates} is installed, you will get a result that shows
+the version that is installed. If it is not installed, there will be
+no version displayed.
+
+Install @code{ca-certificates} with the following:
+
+@example
+sudo apt-get install ca-certificates
+@end example
+
+
+@subsubheading Running git-cl for the first time
+
+@enumerate
+@item
+Using a terminal, move to the top level of the @code{$LILYPOND_GIT}
+directory and then run @code{git-cl} with the @code{config} option:
+
+@example
+cd $LILYPOND_GIT
+git-cl config
+@end example
+
+@noindent
+You will see a series of prompts. For most of them you can simply
+accept the default value by responding with a newline (i.e. by pressing
+return or enter).
+
+@item
+The prompt for the @code{Rietveld server} (the patch review tool), which
+defaults to @code{codereview.appspot.com}
+
+@example
+Rietveld server (host[:port]) [codereview.appspot.com]:
+@end example
+
+@item
+The prompt for the @code{Allura server} (the issue tracker), which
+defaults to @code{https://sourceforge.net/p/testlilyissues/issues/}
+
+@example
+Allura server [https://sourceforge.net/p/testlilyissues/issues/]:
+@end example
+
+@item
+When prompted for the @code{Allura bearer token} copy/paste the value
+generated in the previous steps for
+@emph{Authorising git-cl for the LilyPond issue tracker}
+
+@smallexample
+Allura bearer token (see https://sourceforge.net/auth/oauth/): fdbfca60801533465480
+@end smallexample
+
+@warning{The above is a @q{fake} bearer token used just for
+illustration. Do not use this value.}
+
+@item
+Finally, the prompt for the @code{CC list}, which defaults to
+@code{lilypond-devel@@gnu.org}, the LilyPond Developer's email list.
+
+@example
+CC list ("x" to clear) [lilypond-devel@@gnu.org]:
+@end example
+
+@end enumerate
+
+The @code{git-cl} script should now be correctly configured for use.
+