= Subversion =
Subversion is an open source version control system

https://subversion.apache.org/

== Update ==
{{{
svn update
}}}

== Commit ==
{{{
svn commit -m 'message'
svn protected/* themes/* commit -m 'message'
}}}

== Add unversioned files ==
/usr/bin/svnaddunversioned.sh:
{{{
#!/bin/sh
svn status | grep ? | awk '//{print $2}' | xargs -i svn add {}
}}}

 * chmod 755 /usr/bin/svnaddunversioned.sh

== Branches ==
http://svnbook.red-bean.com/en/1.7/svn.branchmerge.using.html

{{{
svn copy http://svn.example.com/repos/calc/trunk http://svn.example.com/repos/calc/branches/my-calc-branch -m "Creating a private branch of /calc/trunk."
svn checkout http://svn.example.com/repos/calc/branches/my-calc-branch my-calc-branch 
}}}

== Ignore one folder ==
http://stackoverflow.com/questions/11293539/equivalent-of-gitignore-file-with-subversion

C# example:
 * cd ~/trunkx
 * svn propset svn:ignore "bin" .

== Ignore several files folders ==
http://sdesmedt.wordpress.com/2006/12/10/how-to-make-subversion-ignore-files-and-folders/

svnignore.txt
{{{
obj
bin
}}}

Issue the command to ignore the folders listed inside the file
 * svn propset svn:ignore -F svnignore.txt .
 * svn status --no-ignore # see ignored files

== Merge ==
 * cd mergeDestination
 * svn merge --accept postpone originFolder -r1234:HEAD #postpone to resolve conflicts later
 * svn status | grep '^C ' # only show files with conflits
 * svn resolve --accept workig filex #accepts that working copy of filex does not have conflicts
 * svn update --accept postpone # updates working copy and automatically postpones conflict resolution

== Diff between branches ==
 * svn diff --summarize http://example/svn/repository/branch1 http://example/svn/repository/branch2