SVN
Subversion is a revision/version control system allowing one to maintain historical versions of files which might include documentation, websites or source code.
I've had to perform a few command line actions on my hosting provider, site5, and these are recorded here for ease of reference.1
One thing that I'd like to look into a bit more is svn:keywords which can be used to substitute variables in files with, for example, the current version number of the file.
Commit files will be done using
svn commit --message "descriptive reason for the changes"
If you need to exclude certain items, such as cache or temporary files, then you'll need to make use of the svn:ignore property.
Sample:
svn propset svn:ignore "file_to_ignore*" /path/to/folder/
Example call:
svn propset svn:ignore "zend_cache---*" .
If you're adding folders and want these to immediately be added to the repositry and later committed using svn commit use
svn mkdir directory
Ideally when doing a deployment you should be able to access the code from the SVN server. Now instead of doing a SVN checkout which will include a .svn folder in each folder you should use
svn export /path/to/repo
Remove all .svn folders in a directory tree
find . -name ".svn" -exec rm -rf {} \;