JavaScript Required.
We're sorry, but Pega7 doesn't work without JavaScript enabled. Please enable and refresh.
<p>If you want to set up a Subversion repository and allow public browsing, use <a data-mce-href="https://websvnphp.github.io/" href="https://websvnphp.github.io/" target="_blank">WebSVN</a>. As dicussed elsewhere, Trac has too many dependencies (including 'mod_python' or 'fcgi', which can be a pain) and WebDAV is out of the question for shared accounts, so an alternative is needed.<br /> <br /> <strong>WebSVN</strong> offers a few different clean interfaces and a nice set of options. Here's how you set everything up:</p> <ol> <li> <p>Create a svn repository (we want to specify the FSFS type because the Berkley DB causes to many permission issues when apache runs as a different user than you):</p> <p>$ cd ~/<br /> $ mkdir svn<br /> $ svnadmin create --fs-type fsfs svn</p> </li> <li> <p>Lay out our repo into a nice format</p> <p>You can create a separate repo for each project, which <strong>WebSVN</strong> supports, but in a small shared hosting account we want to keep the used disk space to a minimum. Therefore a single, carefully laid-out repo should serve just fine.</p> </li> <li> <p>Create a temporary directory and then import it, like so (<strong>be sure to replace <username> with your ASO username</strong>):</p> <p>$ mkdir tmpdir<br /> $ cd tmpdir<br /> $ mkdir ProjectA<br /> $ mkdir ProjectA/trunk<br /> $ mkdir ProjectA/branches<br /> $ mkdir ProjectA/tags<br /> $ mkdir ProjectB<br /> $ mkdir ProjectB/trunk<br /> $ mkdir ProjectB/branches<br /> $ mkdir ProjectB/tags<br /> $ svn import . file:///home/<username>/svn -m 'Inital repository layout'<br /> Adding ProjectB<br /> Adding ProjectB/trunk<br /> Adding ProjectB/branches<br /> Adding ProjectB/tags<br /> Adding ProjectA<br /> Adding ProjectA/trunk<br /> Adding ProjectA/branches<br /> ​Adding ProjectA/tags</p> <p>Committed revision 1.</p> </li> <li> <p>Now, let's make sure it worked. Delete the temp dir:</p> </li> </ol> <p> $ svnlook tree /home/<username>/svn<br /> /<br /> ProjectB/<br /> trunk/<br /> branches/<br /> tags/<br /> ProjectA/<br /> trunk/<br /> branches/<br /> tags/<br /> $ cd ../<br /> $ rm -r tmpdir</p> <p>Now we want to install <a data-mce-href="https://websvnphp.github.io/" data-mce-style="font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 1.6em;" href="https://websvnphp.github.io/" target="_blank">WebSVN</a>. You may not want to use truck; use a <a data-mce-href="http://websvn.tigris.org/source/browse/websvn/tags/" data-mce-style="font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 1.6em;" href="http://websvn.tigris.org/source/browse/websvn/tags/" target="_blank">stable tag</a>. You must use the username and password (both 'guest').</p> <p>$ svn co http://websvn.tigris.org/svn/websvn/trunk www/websvn --username guest<br /> Authentication realm: <http://wedsvn.tigris.org:80> CollabNet SCM Repository<br /> Password for 'guest': guest<br /> A www/websvn/licence.txt<br /> ...<br /> U www/websvn<br /> Checked out revision 445.</p> <p>Finally, we point <strong>WebSVN</strong> at our repo and alter any other settings we want:</p> <p>$ cd www/websvn<br /> $ cp include/distconfig.inc include/config.inc<br /> $ vim include/config.inc</p> <p>Uncomment and edit this line:</p> <p>$config->addRepository("My Projects", "file:///home/<username>/svn");</p> <p><em><strong>Note:</strong> If you are not using trunk, you may need to drop the "file://" above (which leaves you with "/home/<username>/svn"). The "file://" proctol appears to be a new feaure only in trunk.</em></p> <p>That should do it. <strong>Don't forget to replace <username> with your ASO username.</strong><br /> <br /> You can see my slightly modified (and currently empty) repo <a data-mce-href="http://code.limberg.name/" href="http://code.limberg.name/" target="_blank">here</a>. Both the config.inc file and install.txt file included with the package have very good documentation on the options available to you.</p>