Valid
	XHTML 1.1! Valid CSS!
Created 2007-12-29   Modified 2007-12-29
Chelton Evans

subversion home

svn commands within a working copy

Add a file/directory
svn add file
svn ci . -m ""
Delete a file
svn delete file
svn ci . -m ""

svn log file
svn blame file
svn update

To kill local directories changes
svn revert
To restore them, rename the directory, update to get the old directory back and then fix.

Check for differences. eg
svn status
M       helix.cpp
M       helix.h

List the contents of the repository.
svn ls file:///home/svnaccount/repository
Look at files log
svn log file:///home/svnaccount/repository/trunk/polytrimon/polytrimon.h

subversion server with ssh

Access repository from 10.1.1.6.
svn list svn+ssh://zero@10.1.1.8/home/svnaccount/repository

Create account on server with automatic ssh login so svn+ssh is automatic.

The use of svn+ssh can be minimized by checking out the repository and then using local commands (normal simple svn syntax). eg
svn co svn+ssh://harry2@10.1.1.8/home/svnaccount/repository/trunk/polytrimon
Edit polytrimon.h file, check the changes back in.
svn ci . -m ""

Creating a repository

Created a svnaccount and svngroup.
At home directory   /home/svnaccount/
$ svnadmin create repository
$ svn import polytrimon /home/svnaccount/repository/trunk/polytrimon
$ mkdir temp
$ cd temp
$ svn co file:///home/svnaccount/repository
$ cd repository
$ mkdir branches
$ mkdir tags
$ svn add branches
$ svn add tags
$ svn ci . -m ""

Changed the svnaccount to have primary group svngroup.
Give permission for other users in the group to read and write.
# chmod -R 770 /home/svnaccount/repository
Tested by having another user who belongs to the svngroup check out the repository, edit a file and check the file back in.

So each client user needs a local account that includes the svngroup. So you need to log in to the server before you can access svn and hence the repository is (hopefully)secure.