Wednesday, July 25, 2007

Subversion Quick Guide

# For administrator
# SVN Server: (example IP address:192.168.1.100)

# Create a new project - XXXXX
[]# svnadmin create /home/svn/repos/XXXXX
[]# chown -vR apache:svngroup /home/svn/repos/XXXXX

# Change to your home directory
[]# mkdir XXXXX
[]# mkdir XXXXX/branches
[]# mkdir XXXXX/tags
[]# mkdir XXXXX/trunk

[]# svn import XXXXX/ file:///home/svn/repos/XXXXX/ -m "Initial repository layout"

# Now, the depositary is ready for developer to import their own source code.

# For end-user, programmer, developer
# SVN Client:

# Check-out the source code
[]# svn co http://192.168.1.100/svn/repos/XXXXX/

# Add/Edit/Delete/Copy/Move/..... your original source code to ./XXXXX/trunk/

# Check-in your source code
[]# svn commit

# Update your local repository
[]# svn update

# Check log
[]# svn log

# Check information
[]# svn info

# Check-out revision R??
[]# svn co -r?? http://192.168.1.100/svn/repos/XXXXX/

# Tag it
[]# svn copy -m "tagging the 1.0 release." http://192.168.1.100/svn/repos/XXXXX/trunk \
http://192.168.1.100/svn/repos/XXXXX/tags/release-1.0

# Check-out
[]# svn co http://192.168.1.100/svn/repos/XXXXX/tags/release-1.0

# Create a lock
To set a lock on a directory tree simply create a property on a directory called lock. Then you must commit the property to make it take effect.
[ ]# svn propset lock TRUE trunk/project
[ ]# svn commit trunk/project

# Delete a lock
To remove a lock simply delete the lock property and then commit:
[ ]# svn propdel lock trunk/project
[ ]# svn commit trunk/project

GUI SVN Client and Diff Viewer

RapidSVN is a cross-platform graphical SVN client written in C++ using the wxWidgets framework.

Meld is a graphical diff and merge tool, it can compare two or three files which you can also edit in place at the same time.

No comments: