# HG changeset patch # User Marcin Kuzminski # Date 2017-11-27 17:51:25 # Node ID 80234d046faa97abcd18a7d6bf2ccf5454ec3668 # Parent c7255a09b8b6bd2843974bf5aaca38c4ceb9ec11 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 diff --git a/rhodecode/lib/middleware/vcs.py b/rhodecode/lib/middleware/vcs.py --- 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)