Difference between revisions of "Old talk:Installing SVN"

From The Uniform Server Wiki
Jump to navigation Jump to search
 
(301 Moved Permanently and other errors)
Line 4: Line 4:
  
 
--[[User:Olajideolaolorun|Olajide]] 19:05, 10 Apr 2005 (EDT)
 
--[[User:Olajideolaolorun|Olajide]] 19:05, 10 Apr 2005 (EDT)
 +
 +
== 301 Moved Permanently and other errors ==
 +
 +
This is what happened to me, I'll wait for another person to confirm it before making changes to the wiki.
 +
 +
Olajide decided to use /www/svn instead of /home/svn, which was my choice. I'm sure he has his valid reasons :)
 +
 +
From the free SVN book licensed under Creative Commons:
 +
=== [http://svnbook.red-bean.com/en/1.1/apb.html#svn-ap-b-sect-1.2.15 '''I can see my repository in a web browser, but''' <u>svn checkout</u> '''gives me an error about''' ''301 Moved Permanently''.] ===
 +
<pre>
 +
It means your httpd.conf is misconfigured. Usually this error happens
 +
when you've defined the Subversion virtual “location” to exist within
 +
two different scopes at the same time.
 +
 +
For example, if you've exported a repository as <Location /www/foo>,
 +
but you've also set your DocumentRoot to be /www, then you're in
 +
trouble. When the request comes in for /www/foo/bar, Apache doesn't
 +
know whether to find a real file named /foo/bar within your
 +
DocumentRoot, or whether to ask mod_dav_svn to fetch a file /bar
 +
from the /www/foo repository. Usually the former case wins, and
 +
hence the "Moved Permanently" error.
 +
 +
The solution is to make sure your repository <Location> does
 +
not overlap or live within any areas already exported as normal
 +
web shares.
 +
</pre>
 +
 +
From what I understand, that means your Repository Root shouldn't be under your Apache DocumentRoot. I decided to try it out for myself.
 +
After changing my Repository Root into /www/svn. I got this error while trying to commit:
 +
<pre><nowiki>
 +
D:\Misc\SVN\testbdb>svn commit --message "More Test"
 +
svn: Commit failed (details follow):
 +
svn: OPTIONS request failed on '/svn/testbdb'
 +
svn: OPTIONS of '/svn/testbdb': 301 Moved Permanently (http://localhost)
 +
</nowiki></pre>
 +
 +
I moved changed my Repository Root back to /home/svn and tried again. This is what I got:
 +
<pre><nowiki>
 +
D:\Misc\SVN\testbdb>svn commit --message "New Files :D"
 +
Adding        123.txt
 +
Adding        New.txt
 +
Transmitting file data ..
 +
Committed revision 6.
 +
</nowiki></pre>
 +
 +
Other than that, I get a bunch of errors like these every time I access my repository:
 +
<pre>
 +
[Sat Apr 09 12:33:27 2005] [error] A subtree cannot specify a different
 +
DAV provider than its parent.
 +
[Sat Apr 09 12:33:27 2005] [error] A subtree cannot specify a different
 +
DAV provider than its parent.
 +
[Sat Apr 09 12:33:28 2005] [error] A subtree cannot specify a different
 +
DAV provider than its parent.
 +
</pre>
 +
My current guess is that, it has something to do with activating Dav in /www

Revision as of 14:35, 11 April 2005

MrX has reported a problem with SVN working under the /www/ folder...

This article is still under editing...

--Olajide 19:05, 10 Apr 2005 (EDT)

301 Moved Permanently and other errors

This is what happened to me, I'll wait for another person to confirm it before making changes to the wiki.

Olajide decided to use /www/svn instead of /home/svn, which was my choice. I'm sure he has his valid reasons :)

From the free SVN book licensed under Creative Commons:

I can see my repository in a web browser, but svn checkout gives me an error about 301 Moved Permanently.

It means your httpd.conf is misconfigured. Usually this error happens
when you've defined the Subversion virtual “location” to exist within
two different scopes at the same time.

For example, if you've exported a repository as <Location /www/foo>,
but you've also set your DocumentRoot to be /www, then you're in
trouble. When the request comes in for /www/foo/bar, Apache doesn't
know whether to find a real file named /foo/bar within your
DocumentRoot, or whether to ask mod_dav_svn to fetch a file /bar
from the /www/foo repository. Usually the former case wins, and
hence the "Moved Permanently" error.

The solution is to make sure your repository <Location> does
not overlap or live within any areas already exported as normal
web shares.

From what I understand, that means your Repository Root shouldn't be under your Apache DocumentRoot. I decided to try it out for myself. After changing my Repository Root into /www/svn. I got this error while trying to commit:

D:\Misc\SVN\testbdb>svn commit --message "More Test"
svn: Commit failed (details follow):
svn: OPTIONS request failed on '/svn/testbdb'
svn: OPTIONS of '/svn/testbdb': 301 Moved Permanently (http://localhost)

I moved changed my Repository Root back to /home/svn and tried again. This is what I got:

D:\Misc\SVN\testbdb>svn commit --message "New Files :D"
Adding         123.txt
Adding         New.txt
Transmitting file data ..
Committed revision 6.

Other than that, I get a bunch of errors like these every time I access my repository:

[Sat Apr 09 12:33:27 2005] [error] A subtree cannot specify a different
DAV provider than its parent.
[Sat Apr 09 12:33:27 2005] [error] A subtree cannot specify a different
DAV provider than its parent.
[Sat Apr 09 12:33:28 2005] [error] A subtree cannot specify a different 
DAV provider than its parent.

My current guess is that, it has something to do with activating Dav in /www