LilyPond Contributor's Guide: 7.7 Updating LSR to a new version

## 7.7 Updating LSR to a new version

To update LSR, perform the following steps:

1. Download the latest snippet tarball, extract it, and run `convert-ly` on all files using the command-line option `--to=VERSION` to ensure snippets are updated to the correct stable version.
2. Copy relevant snippets (i.e., snippets whose version is equal to or less than the new version of LilyPond) from ‘`Documentation/snippets/new/`’ into the tarball.

   You must not rename any files during this, or the next, stage.

3. Verify that all files compile with the new version of LilyPond, ideally without any warnings or errors. To ease the process, you may use the shell script that appears after this list.

   Due to the workload involved, we do not require that you verify that all snippets produce the expected output. If you happen to notice any such snippets and can fix them, great; but as long as all snippets compile, don’t delay this step due to some weird output. If a snippet is broken, the hordes of willing web-2.0 volunteers will fix it. It’s not our problem.

4. Create a tarball and send it back to Sebastiano.
5. When LSR has been updated, download another snippet tarball, verify that the relevant snippets from ‘`Documentation/snippets/new/`’ were included, then delete those snippets from ‘`Documentation/snippets/new/`’.

Here is a shell script to run all ‘`.ly`’ files in a directory and redirect terminal output to text files, which are then searched for the word "failed" to see which snippets do not compile.

>     #!/bin/bash

>     for LILYFILE in *.ly
>     do
>       STEM=$(basename "$LILYFILE" .ly)
>       echo "running $LILYFILE..."
>       lilypond --format=png -ddelete-intermediate-files "$LILYFILE" >& "$STEM".txt
>     done

>     grep failed *.txt

#### LilyPond — Contributor’s Guide