diff --git a/kallithea/templates/files/files.html b/kallithea/templates/files/files.html
--- a/kallithea/templates/files/files.html
+++ b/kallithea/templates/files/files.html
@@ -40,6 +40,7 @@ ${self.repo_context_bar('files', c.revis
var CACHE = {};
var CACHE_EXPIRE = 5*60*1000; //cache for 5*60s
//used to construct links from the search list
+var _repo_files_url = ${h.jshtml(h.url("files_home",repo_name=c.repo_name,revision='',f_path='').replace('//', '/'))};
var url_base = ${h.js(h.url("files_home",repo_name=c.repo_name,revision='__REV__',f_path='__FPATH__'))};
//send the nodelist request to this url
var node_list_url = ${h.js(h.url("files_nodelist_home",repo_name=c.repo_name,revision='__REV__',f_path='__FPATH__'))};
@@ -60,11 +61,8 @@ var ypjax_links = function(){
var el = e.currentTarget;
var url = el.href;
- var _base_url = ${h.jshtml(h.url("files_home",repo_name=c.repo_name,revision='',f_path=''))};
- _base_url = _base_url.replace('//','/');
-
//extract rev and the f_path from url.
- parts = url.split(_base_url);
+ parts = url.split(_repo_files_url);
if(parts.length != 2){
return false;
}
diff --git a/kallithea/tests/other/test_vcs_operations.py b/kallithea/tests/other/test_vcs_operations.py
--- a/kallithea/tests/other/test_vcs_operations.py
+++ b/kallithea/tests/other/test_vcs_operations.py
@@ -563,6 +563,9 @@ class TestVCSOperations(TestController):
repo_name=testfork['git'],
revision='tip',
f_path='/'))
+ # check _repo_files_url that will be used to reload as AJAX
+ response.mustcontain('var _repo_files_url = ("/%s/files/");' % testfork['git'])
+
response.mustcontain('testsubmodule @ ' % clone_url)
# check that following a submodule link actually works - and redirects