Ubuntu 10.04
Eclipse w/subversive plugins
Apache (LAMP)
Subversion installed
I have installed everything using synaptic or apt from existing
supported packages. I have created an SVN repo and can see it in the
filesystem. I have configured the Apache server as found below in
httpd.conf:
##
## httpd.conf
##
DocumentRoot "/var/www"
#
##Subversion Configuration
##
Servername "superglts"
#
Alias /SVN /home/apesa/Development/SVN
#
<Directory /home/apesa/Development/SVN>
AllowOverride All
DAV svn
Order allow,deny
Allow from all
</Directory>
#
<Location /SVN>
DAV svn
SVNListParentPath on
SVNParentPath "/SVN"
AuthName "SVN"
AuthType Basic
SVNPathAuthz off
AuthBasicProvider file
AuthUserFile "/home/apesa/Development/passwords"
Require valid-user
</Location>
Right now the error I am getting from Eclipse is:
"Location Information is specified incorrectly"
svn: Malformed XML
Keep Location Anyway
I am using a password file created with htpasswd that is working. It
will recognize invalid users and will bump them while it passes me so I
believe that is working as expected.
I created the svn Repo with the following syntax:
$svnadmin create /home/apesa/Development/SVN
I can see this in the filesystem and it appears to be ok. I am hoping
that someone will recognize my mistakes.
Thanks,
Pat
> Alias /SVN /home/apesa/Development/SVN
Remove this "Alias" line.
> <Directory /home/apesa/Development/SVN>
> AllowOverride All
> DAV svn
Remove this "DAV" line.
> <Location /SVN>
> DAV svn
> SVNListParentPath on
> SVNParentPath "/SVN"
[snip]
> I created the svn Repo with the following syntax:
> $svnadmin create /home/apesa/Development/SVN
The SVNParentPath line should read "SVNParentPath /home/apesa/Development" if you are going to create other repositories (or "SVNPath /home/apesa/Development/SVN" if you only are going to have this single repository).
Location Information has been specified incorrectly
Svn: Malformed XML
Keep Location Anyway
This is all the Apache config I have:
<Directory /home/apesa/Development/SVN>
AllowOverride All
Order allow,deny
Allow from all
</Directory>
#
<Location /SVN>
DAV svn
SVNListParentPath on
SVNParentPath "/home/apesa/Development"
AuthName "SVN"
AuthType Basic
SVNPathAuthz off
AuthBasicProvider file
AuthUserFile "/home/apesa/Development/passwords"
Require valid-user
</Location>
Am I missing some corresponding configuration in the Repo?
Pat
[Wed Feb 09 21:17:26 2011] [debug] mod_deflate.c(615): [client
127.0.0.1] Zlib: Compressed 476 to 322 : URL /SVN
[Wed Feb 09 21:17:26 2011] [error] [client 127.0.0.1] Could not fetch
resource information. [301, #0]
[Wed Feb 09 21:17:26 2011] [error] [client 127.0.0.1] (2)No such file or
directory: Requests for a collection must have a trailing slash on the
URI. [301, #0]
[Wed Feb 09 21:17:26 2011] [debug] mod_deflate.c(615): [client
127.0.0.1] Zlib: Compressed 304 to 223 : URL /SVN
[Wed Feb 09 21:17:26 2011] [error] [client 127.0.0.1] Could not fetch
resource information. [301, #0]
[Wed Feb 09 21:17:26 2011] [error] [client 127.0.0.1] (2)No such file or
directory: Requests for a collection must have a trailing slash on the
URI. [301, #0]
Thanks,
Pat
Many thanks,
Pat
> Ok, Thanks to all who answered.. It was the URL, instead of
> http://localhost/SVN it is http://localhost/SVN/SVN . It must be due to
> the SVNParentPath?? ANyway, I am connected and it works..
Yes, http://localhost/SVN/SVN would be the correct URL for the way you configured it:
>>>> <Location /SVN>
>>>> DAV svn
>>>> SVNListParentPath on
>>>> SVNParentPath "/home/apesa/Development"
The above says: "For the location /SVN (meaning, for the URL http://localhost/SVN/), allow me to tack on the name of any repository in the directory /home/apesa/Development", and you showed earlier that you created a repository called "SVN". Repository name "SVN" tacked onto the end of http://localhost/SVN/ gives http://localhost/SVN/SVN.
If you want to create multiple repositories, consider renaming your existing repository named "SVN" to something else that more clearly communicates what it's for (for example "websites" or "internal-projects", or you could create one repository for each project and name the repository after that project). To rename the repository, you can simply rename its directory using normal OS commands. Then you would have http://localhost/SVN/websites or http://localhost/SVN/someproject.
Or, if you just want a single repository (and that's fine too), consider using "SVNPath /home/apesa/Development/SVN" instead. Then your URL to your repository is just http://localhost/SVN.
Also, consider using <Location /svn> instead of <Location /SVN>. Most users don't expect uppercase characters in URLs, and URLs are case-sensitive.
I now have 2 machines working from the same source so I figure tomorrow
I will recreate my original repo layout and configure Apache for those
three. I have used CVS before so I have some exp in the copy merge
model... This will work well.
Thanks again.