Changes

Jump to navigation Jump to search
2,478 bytes added ,  15:44, 6 December 2012
no edit summary
==Getting Started==
* svn help <command>
* svnadmin create /var/svn/newrepos* svn admin create makedir file:///var/svn/newrepos/some/trunk -m "Setting up repository structure"
* svn import mytree file:///var/svn/newrepos/some/project -m "Initial Import"
* svn list file:///var/svn/newrepos/some/project
* svn status --verbose
* svn log = display the history of changes to a file or directory
* Remember to use the full path AS IT EXISTS ON THE SERVER if using svn+ssh, ex: svn co svn+ssh://iicbu2/srv/svn/repositories/iicbu
==typical work cycle==
** run svn diff -c 9238 to see the patch itself
* svn merge -c 9238 = merge changeset r9238 into your working copy
* svn merge -r LastRevisionMergedFromTrunkToBranch:HEAD url/of/trunk path/to/branch/wc
* svn switch http://svn.example.com/repos/calc/branches/my-calc-branch
** switch transforms an existing working copy to reflect a different branch
http://svn.example.com/repos/calc/branches/stable-1.0 \
-m "Creating stable branch of calc project."</pre>
==Administration==
* [http://www.linuxfromscratch.org/blfs/view/svn/general/svnserver.html Step-by-step directions]
* do everything as root
* svnadmin create /var/svn/repos
* svn mkdir file:///srv/svn/repositories/iicbu/wndchrm -m "Setting up repository structure"
* make hooks by copying hook template files to the appropriate location
 
* now go to <repository>/conf/
** IF YOU HAVE AUTHORIZATION FAILED ERRORS, THIS IS HOW YOU FIX THEM
* svnserv.conf = control configuration of the svnserve daemon
*# uncomment "anon-access = read"
*# uncomment "auth-access = write"
*# uncomment "password-db = passwd"
*# make up a good realm and add realm
* passwd
*# add authorized checker-inners and their passwords
* chown -R svn:svntest /srv/svn/repositories/svntest
* chmod -R g+w /srv/svn/repositories/svntest
* chmod g+s /srv/svn/repositories/svntest/db
===setting root directory for svn access===
* looks like you specify the root using the svnserve daemon
<pre>
colettace@iicbu2 /srv/svn/repositories/iicbu/conf
$ ps aux | grep svnserve
svn 2590 0.0 0.0 10320 760 ? Ss 16:11 0:00 /usr/bin/svnserve.orig -d --threads --root /srv/svn/repositories/
</pre>
 
==Server Configuration==
* If you need to integrate with existing legacy identity systems (LDAP, Active Directory, NTLM, X.509, etc.), you must use either the Apache-based server or svnserve configured with SASL.
* If you've decided to use either Apache or stock svnserve, create a single svn user on your system and run the server process as that user. Be sure to make the repository directory wholly owned by the svn user as well. From a security point of view, this keeps the repository data nicely siloed and protected by operating system filesystem permissions, changeable by only the Subversion server process itself.
* [http://www.svnforum.org/2017/viewtopic.php?t=281 init.d script for fedora/redhat]
==Repository Hooks==
# On a repository that you've already set up, navigate on command line to /path/to/repos/hooks/ and there will be template files there for each event type.
# just remove the .tmpl extension and svn will run that.
* post-commit
==svnlook==
* svnlook date /path/to/repos/
2,466

edits

Navigation menu