From 73d71c1baef1d0b094b104f5199468de10b62d10 Mon Sep 17 00:00:00 2001 From: Marcin Kuzminski Date: Mon, 27 Nov 2017 18:51:25 +0100 Subject: [PATCH] svn: extend detection of SVN to PROPFIND/PROPATCH methods. - in some cases like usage of tortoisesvn non of the available SVN protocol detection methods are available - with extended method we're able to catch directory delete/create --- rhodecode/lib/middleware/vcs.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rhodecode/lib/middleware/vcs.py b/rhodecode/lib/middleware/vcs.py index 39220997..417844af 100644 --- a/rhodecode/lib/middleware/vcs.py +++ b/rhodecode/lib/middleware/vcs.py @@ -76,12 +76,15 @@ def is_svn(environ): """ Returns True if requests target is Subversion server """ + http_dav = environ.get('HTTP_DAV', '') magic_path_segment = rhodecode.CONFIG.get( 'rhodecode_subversion_magic_path', '/!svn') is_svn_path = ( 'subversion' in http_dav or - magic_path_segment in environ['PATH_INFO']) + magic_path_segment in environ['PATH_INFO'] + or environ['REQUEST_METHOD'] in ['PROPFIND', 'PROPPATCH'] + ) log.debug( 'request path: `%s` detected as SVN PROTOCOL %s', environ['PATH_INFO'], is_svn_path)