Svn

From Halfface
Jump to navigation Jump to search

setup svn

install svn.

yum install mod_dav_svn

Create svn repository.

svnadmin create /www/svn/cfengine

Change permission.

chown -R apache:apache /www/svn/cfengine
chmod g+s /www/svn/cfengine/db

httpd.conf

<Location /svn/cfengine>
  DAV svn
  SVNPath /www/svn/cfengine
  AuthzSVNAccessFile /etc/httpd/conf/svnauthz.conf
  AuthType Basic
  AuthName "Subversion repository cfengine"
  AuthUserFile /etc/httpd/conf/passwords
  Order deny,allow
  Require valid-user
</Location>

Termininology

trunks		Latest. Work in the trunk 
tags. 		Reprecensts stable 
branches. 	Private working space. Could be merged.

Useful commands

svn -m "initial import" import . http://www.halfface.se/svn/		# Import working directory in svn.
svn co http://www.halfface.se/svn/					# Check out directory.
svn add *  								# Add all files in current directory to svn.
svn status								# What differs. Ask stupid svn which files should be added.
svn mv ../cfagent.conf .						# Move file within svn.
svn rm etc								# Remove file from svn.
svn ci -m "Report function working"					# Check in current status in svn.
svn copy http://www.halfface.se/svn/ http://www.halfface.se/svn2/	# Copy in svn.
svn copy -r 24 http://www.halfface.se/svn/ 				# Copy version 24 to
svn co http://svn.klu.infineon.com/repos/AdminToolKit/ 		# Check out specific version
svn up									# Update against svn data.
svn --username bjorklun ls http://www.halfface.se/svn/		# List contents of repository as user bjorklun
svn status								# Which files has changed.
svn propset svn:executable ON somescript				# Make file executeble in svn repository.
svn diff -r 3900 /filename						See how your working copy's modifications compare            against an older revision:
svn diff -r 3000:3500							Compare revision 3000 to revision 3500 of all files in          trunk using range notation