##// END OF EJS Templates
Fixed bug in repos group discovery, when inner folder of bare git repos were detected as a group
marcink -
r2497:5a8c19c4 beta
parent child Browse files
Show More
@@ -44,7 +44,7 b' from rhodecode.model.repos_group import '
44 from rhodecode.model.forms import ReposGroupForm
44 from rhodecode.model.forms import ReposGroupForm
45 from rhodecode.model.meta import Session
45 from rhodecode.model.meta import Session
46 from rhodecode.model.repo import RepoModel
46 from rhodecode.model.repo import RepoModel
47 from webob.exc import HTTPInternalServerError
47 from webob.exc import HTTPInternalServerError, HTTPNotFound
48
48
49 log = logging.getLogger(__name__)
49 log = logging.getLogger(__name__)
50
50
@@ -268,8 +268,10 b' class ReposGroupsController(BaseControll'
268 the group by id view instead
268 the group by id view instead
269 """
269 """
270 group_name = group_name.rstrip('/')
270 group_name = group_name.rstrip('/')
271 id_ = RepoGroup.get_by_group_name(group_name).group_id
271 id_ = RepoGroup.get_by_group_name(group_name)
272 return self.show(id_)
272 if id_:
273 return self.show(id_.group_id)
274 raise HTTPNotFound
273
275
274 @HasReposGroupPermissionAnyDecorator('group.read', 'group.write',
276 @HasReposGroupPermissionAnyDecorator('group.read', 'group.write',
275 'group.admin')
277 'group.admin')
@@ -235,6 +235,15 b' def is_valid_repos_group(repos_group_nam'
235 if is_valid_repo(repos_group_name, base_path):
235 if is_valid_repo(repos_group_name, base_path):
236 return False
236 return False
237
237
238 try:
239 # we need to check bare git repos at higher level
240 # since we might match branches/hooks/info/objects or possible
241 # other things inside bare git repo
242 get_scm(os.path.dirname(full_path))
243 return False
244 except VCSError:
245 pass
246
238 # check if it's a valid path
247 # check if it's a valid path
239 if os.path.isdir(full_path):
248 if os.path.isdir(full_path):
240 return True
249 return True
General Comments 0
You need to be logged in to leave comments. Login now