Apache Shindig SVN Conventions

This document describes how developers should use SVN, our SCM.

Subversion Configuration

Before committing files in subversion repository, you need to read the Committer Subversion Access document and you must set your svn client with this properties file: svn-props

Commit Message Template

Based on ASF committer's FAQ, the commits should have a message that follows this template:

[issue1, issue2] <>
Submitted by: (when it was a patch, put that persons name there)

o some comments

Where:

Apply User Patch

By default, the committer should apply the patch without any major modifications. In a second step, the committer could apply any changes as usual.

Edit Commit Message

If you want to edit a commit message, you could call:

svn pe svn:log --revprop -r XXX

where XXX is the wanted version

Other useful Subversion commands while developing

If you've done a chunk of work and you would like ditch your changes and start from scratch use this command to revert to the original checkout:

$ svn revert -R

The -R argument means that the command will recurse down all directories and revert all changes.

Before committing code to the Subversion repository we always set the svn:ignore property on the directory to prevent some files and directories to be checked in. We always exclude the IDE project files and the target/ directory. Instead of keeping all of the excludes in mind all the time it's useful to put them all in a file and reference the file with the -F option:

$ svn propset svn:ignore -F ~/bin/svnignore

An example svnignore file:

target
*~
*.log
.classpath
.project
*.ipr
*.iws
*.iml