A "rockbox" directory will be created in your current directory, and all the directories and source files go there.

Checking in modifications

SVN is a "no-reserve" version control system. This means that you work on your local files without first reserving them. Any conflicts with other developers are detected when you check-in, or "commit" as it's called in SVN.

svn commit <filename>

If this is the first commit from the local directory you will be asked for a password for your local username, If it is asking for the password for the wrong account just hit enter and it will prompt for the correct username and password.

This will start an editor and ask you to describe the changes you've made. If you want, you can use the -m command line option to specify the comment right there:

If this is a fix for a bug in FlySpray use the tracker number in this format: FS#xxxx in the comment so that a link to the tracker is created on the RockBox home page.

Updating your repository

Since several people commit to the repository, you will need to periodically synchronize your local files with the changes made by others. This operation is called "update":

svn update

Adding a new file

Adding a file is very simple:

svn add <filename>

When adding a new source file, remember to set the keywords property:

svn pset svn:keywords "Author Id Date Revision" <filename>

If you are adding a binary file, you need to set the mime-type property:

svn propset svn:mime-type application/octet-stream <filename>

These changes, like any other change, has to be committed before they will be visible on the server.

Note: If your file was created in Windows it may have had the "executable" flag set by default, even if it's simply a text file (.c, .tex, etc). To fix this either do chmod -x filename before svn add, or svn propdel svn:executable filename afterwards.

Querying the status of your files

Sometimes it is interesting to get a list of the status of your files versus those on the remote repository. This is called "status":

svn status

Producing a diff of your changes

If you want to see how your local files differ from the SVN repository, you can ask SVN to show you: