On 31 August 2016 at 14:54, Vacelet, Manuel <manuel.vace...@enalean.com> wrote: > On Wed, Aug 31, 2016 at 12:37 PM, Ivan Zhakov <i...@visualsvn.com> wrote: >> >> On 31 August 2016 at 13:28, Vacelet, Manuel <manuel.vace...@enalean.com> >> wrote: >> > On Wed, Aug 31, 2016 at 12:19 PM, Ivan Zhakov <i...@visualsvn.com> >> > wrote: >> >> >> >> >> >> > - Why this behaviour changed between 1.6 and newer ? >> >> It was bug before Subversion 1.7.9. The problem was that client tried >> >> to read some information from repository root when performing remove >> >> folder. See SVN-4332 for more details [1] >> >> >> >> [1] https://issues.apache.org/jira/browse/SVN-4332 >> >> >> > >> > I did read that but in my tests, when server is 1.6, whatever version of >> > client (1.6, 1.7, 1.8, 1.9), cannot remove. >> > >> > When server is 1.8, behaviour change depending on client version so it >> > might >> > be related to this issue (even if in all cases, the user has access to >> > the >> > root). >> > >> It's could be related to HTTPv2 protocol introduced in Subversion 1.7. >> Could you provide requests log with svn server 1.6? >> >> [1] https://subversion.apache.org/docs/release-notes/1.7.html#httpv2 >> > > Here we go, on client side, svn, version 1.9.3 (r1718519) > > Server is svn, version 1.6.11 (r934486) > 172.17.42.1 - - [31/Aug/2016:11:52:37 +0000] "OPTIONS /svntest/fakerepo/tags > HTTP/1.1" 401 501 > 172.17.42.1 - alice [31/Aug/2016:11:52:37 +0000] "OPTIONS > /svntest/fakerepo/tags HTTP/1.1" 200 196 > 172.17.42.1 - alice [31/Aug/2016:11:52:37 +0000] "OPTIONS > /svntest/fakerepo/tags HTTP/1.1" 200 97 > 172.17.42.1 - alice [31/Aug/2016:11:52:37 +0000] "PROPFIND > /svntest/fakerepo/tags HTTP/1.1" 207 700 > 172.17.42.1 - alice [31/Aug/2016:11:52:37 +0000] "PROPFIND > /svntest/fakerepo/tags HTTP/1.1" 207 325 > 172.17.42.1 - alice [31/Aug/2016:11:52:40 +0000] "MKACTIVITY > /svntest/fakerepo/!svn/act/8267278f-ed0c-42db-a6c8-65f010a954c9 HTTP/1.1" > 201 337 > 172.17.42.1 - alice [31/Aug/2016:11:52:40 +0000] "PROPFIND /svntest/fakerepo > HTTP/1.1" 207 400 > 172.17.42.1 - alice [31/Aug/2016:11:52:40 +0000] "CHECKOUT > /svntest/fakerepo/!svn/vcc/default HTTP/1.1" 201 352 > 172.17.42.1 - alice [31/Aug/2016:11:52:40 +0000] "PROPPATCH > /svntest/fakerepo/!svn/wbl/8267278f-ed0c-42db-a6c8-65f010a954c9/15 HTTP/1.1" > 207 469 > 172.17.42.1 - alice [31/Aug/2016:11:52:40 +0000] "CHECKOUT > /svntest/fakerepo/!svn/ver/15 HTTP/1.1" 403 330 ^^^ Here is the problem. Subversion tries to CHECKOUT (DAV HTTP method) parent of resource when using HTTPv1 protocol, but it should not. I was able to reproduce this problem locally. As far I see we don't have test for this case.
> 172.17.42.1 - alice [31/Aug/2016:11:52:40 +0000] "DELETE > /svntest/fakerepo/!svn/act/8267278f-ed0c-42db-a6c8-65f010a954c9 HTTP/1.1" > 204 - > > Server is svn, version 1.8.16 (r1740329): > 172.17.42.1 - - [31/Aug/2016:11:43:53 +0000] "OPTIONS /svntest/fakerepo > HTTP/1.1" 401 501 > 172.17.42.1 - alice [31/Aug/2016:11:43:53 +0000] "OPTIONS /svntest/fakerepo > HTTP/1.1" 200 196 > 172.17.42.1 - alice [31/Aug/2016:11:43:53 +0000] "OPTIONS /svntest/fakerepo > HTTP/1.1" 200 97 > 172.17.42.1 - alice [31/Aug/2016:11:43:53 +0000] "POST > /svntest/fakerepo/!svn/me HTTP/1.1" 201 - > 172.17.42.1 - alice [31/Aug/2016:11:43:53 +0000] "DELETE > /svntest/fakerepo/!svn/txr/13-g/tags HTTP/1.1" 204 - > 172.17.42.1 - alice [31/Aug/2016:11:43:53 +0000] "MERGE /svntest/fakerepo > HTTP/1.1" 200 756 > As you see Subversion perform DELETE directly, without CHECKOUT when using HTTPv2 protocol. That's expected behavior. -- Ivan Zhakov