Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>First establish a baseline. On a stock install of Snow Leopard (10.6.3) here's exactly what I did.</p> <p>Created "/etc/apache2/other/svn.conf" with content:</p> <pre><code>LoadModule dav_svn_module /usr/libexec/apache2/mod_dav_svn.so &lt;Location /svn&gt; DAV svn SVNParentPath /usr/local/svn AuthType Basic AuthName "Subversion repository" AuthUserFile /usr/local/svn/htpasswd Require valid-user &lt;/Location&gt; </code></pre> <p>Created subversion folder and repository "test":</p> <pre><code>sudo mkdir /usr/local/svn sudo svnadmin create /usr/local/svn/test sudo chown -R _www:_www /usr/local/svn sudo htpasswd -cb /usr/local/svn/htpasswd testuser testpass </code></pre> <p>From normal user, home directory:</p> <pre><code>macmini:~ jclark$ mkdir Checkout &amp;&amp; cd Checkout macmini:Checkout jclark$ svn --username testuser checkout http://localhost/svn/test Authentication realm: &lt;http://localhost:80&gt; Subversion repository Password for 'testuser': Checked out revision 0. macmini:Checkout jclark$ cd test &amp;&amp; touch test.txt &amp;&amp; svn add test.txt &amp;&amp; svn commit -m 'test' test.txt A test.txt Adding test.txt Transmitting file data . Commited revision 1. macmini:test jclark$ </code></pre> <p>Now, if all of that worked as it should, then you have a working stock 1.6.5 subversion repository served by apache. If it didn't, then you are most likely either mixing apple supplied svn binaries/libs with your own (macports, etc) <strong>or</strong> there are permissions problems. Make <strong>sure</strong> you are using the apple provided binaries. Apple does modify the source slightly and I have run into compatibility issues when mixing 'ports' with 'stock' in the past. As for permissions, apache runs as user _www, group _www. Make sure all the files and directories are owned as such, and don't forget to update them whenever you use svnadmin or something else to directly manipulate the svn repository.</p> <p>Since that is working, move your 'svn2' repository back into /usr/local/svn (if you haven't already), do a clean checkout somewhere, and try a test commit.</p> <p>If you are still running into problems, try to upgrade the repository.</p> <pre><code>sudo svnadmin upgrade /usr/local/svn/svn2 sudo chown -R _www:_www /usr/local/svn/svn2 </code></pre> <p>Repeat the checkout / commit test.</p> <p>As a last resort, dump and load the repository again.</p> <pre><code>sudo svnadmin dump /usr/local/svn/svn2 &gt; /tmp/svn2.dump sudo svnadmin create /usr/local/svn/svn3 sudo svnadmin load /usr/local/svn/svn3 &lt; /tmp/svn2.dump sudo chown -R _www:_www /usr/local/svn/svn3 </code></pre> <p>Repeat the checkout / commit test, this time with /svn/svn3.</p> <p>Enjoy your fixed repository... hopefully :)</p> <p><strong>update</strong></p> <p>There may be a <strong>bug</strong> in the subversion command line client. After doing:</p> <pre><code>mkdir \!vcc &amp;&amp; touch \!vcc/default svn add \!vcc &amp;&amp; svn commit -m 'test' svn log </code></pre> <p>Notice the output of svn log (at least for me) is nothing. Svn log from tortoise is fine, which indicates the server (as setup above) is working correctly.</p> <p>Another thing to try is accessing the repository via 'file' instead of 'http'. Copy the entire repository to your home directory or somewhere your user is the owner, then check it out (ie. svn checkout /Users/Shared/svn/svn2) and try to commit.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload