可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I recently upgraded the bitnami trac stack (from 0.12.2-5 to 0.12.3) on our server and after reconfiguring all the scripts and repositories all seemed well. I was able to login and view the source code and browse through the repository using Trac. I tested checking out the source code and I could browse the repository via both visualsvn and tortoise.
But when it came to commiting changes made there was a problem. I got a path not found exception. Looking into the error log on the server, all I could see was that all GET requests were fine, but POSTs had an incorrect URL (!svn/me
was appended at the end).
After spending a couple of hours going through logs and configurations, since Subversion was upgraded from 1.6 to 1.7, this include the new HTTPv2 protocol. This protocol somehow affected access to the SVN repositories, but only seems to affect POSTs and not GETs.
Workaround
The way to disable this new feature is by changing the mod_dav_svn configuration as follows:
DAV svn ... SVNAdvertiseV2Protocol Off
The issue was then resolved and we could check in our changes again.
回答1:
I resolved this by disabling the HttpV2 protocol. To disable it you can make changes to the mod_dav_svn
configuration locations as follows:
DAV svn ... SVNAdvertiseV2Protocol Off
回答2:
Just wanted to add a little to this "question". I was getting the same error message after I relocated a SVN server from one machine to another. A 500 error and "!svn/me" was appended to the end of the SVN server URL, nothing would commit but everything else worked. After hours trying numerous things, it turns out that the user account VisualSVN / Apache was using didn't have write access to the SVN repo's directory. So I gave the account modify / write access ot he SVN repos directory and committing worked. Which actually makes sense because everything but Commit was working. Not sure if this will be helpful for others but I thought I would post it here regardless. Thanks for the question, helped me understand where I went wrong.
回答3:
This was a problem on https://trac-hacks.org, which serves Trac at /
and Subversion at /svn
. The issue was initially worked around by disabling SVNAdvertiseV2Protocol
. Later the issue was resolved by serving Trac from /trac
and redirecting /
to /trac
. However, that solution was not ideal due to the redirect. Another admin on the project found the solution of adding:
Alias /svn /var/www/000-default/svn
I'm not sure why this works, but it effective and doesn't require the redirect and serving Trac from /trac
.
回答4:
My repository has about 700 000 files and 660 folders. I had the same error, and was sure that SVNAdvertiseV2Protocol Off
is not the right way to go. Adding
SVNInMemoryCacheSize 262144 SVNCacheFullTexts on SVNCacheTextDeltas on
to /etc/apache2/mods-enabled/dav_svn.conf
fixed the issue for me.