On Wed, Aug 31, 2016 at 2:14 PM, Ivan Zhakov <i...@visualsvn.com> wrote:
> 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. > > Alright, perfect :) Thanks for the informations and the time you spent on that !