This document describes how developers should use SVN, our SCM.
Commits should be focused on one issue at a time, because that makes it easier for others to review the commit.
A commit message should use this template:
[ISSUE-1] <<Summary field from JIRA>> - patch contributed by <<Name of non-committer>> o Comments
[MNG-1456] Added the foo to the bar - patch contributed by Baz Bazman o Applied without change
By default, the committer should apply the patch without any major modifications. In a second step, the committer could apply any changes as usual.
If you want to edit a commit message, you could call:
svn pe svn:log --revprop -r XXX
where XXX is the wanted version
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 .
A typical svnignore file:
target *~ *.log .classpath .project .settings .wtpmodules .idea *.ipr *.iws *.iml .git .gitignores