fix: calls vcs server cache invalidation on repository delete
This commit is contained in:
parent
d96353c09a
commit
5819a0ec61
2 changed files with 13 additions and 4 deletions
|
|
@ -134,6 +134,10 @@ class RepoSettingsAdvancedView(RepoAppView):
|
|||
repo_advanced_url = h.route_path("edit_repo_advanced", repo_name=self.db_repo_name, _anchor="advanced-delete")
|
||||
try:
|
||||
old_data = self.db_repo.get_api_data()
|
||||
|
||||
delete_cache = True
|
||||
self._invalidate_remote_cache(delete=delete_cache)
|
||||
|
||||
RepoModel().delete(self.db_repo, forks=handle_forks)
|
||||
|
||||
_forks = self.db_repo.forks.count()
|
||||
|
|
@ -148,7 +152,7 @@ class RepoSettingsAdvancedView(RepoAppView):
|
|||
"repo.delete", action_data={"old_data": old_data}, user=self._rhodecode_user, repo=repo
|
||||
)
|
||||
|
||||
ScmModel().mark_for_invalidation(self.db_repo_name, delete=True)
|
||||
ScmModel().mark_for_invalidation(self.db_repo_name, delete=delete_cache)
|
||||
h.flash(_("Deleted repository `%s`") % self.db_repo_name, category="success")
|
||||
Session().commit()
|
||||
except AttachedForksError:
|
||||
|
|
@ -196,6 +200,11 @@ class RepoSettingsAdvancedView(RepoAppView):
|
|||
|
||||
raise HTTPFound(h.route_path("home"))
|
||||
|
||||
def _invalidate_remote_cache(self, delete: bool):
|
||||
log.debug(f"Invalidating remote cache, for repository: {self.db_repo_name}")
|
||||
scm_repo = self.db_repo.scm_instance(cache=False)
|
||||
scm_repo.vcsserver_invalidate_cache(delete=delete)
|
||||
|
||||
@LoginRequired()
|
||||
@HasRepoPermissionAnyDecorator("repository.admin")
|
||||
@CSRFRequired()
|
||||
|
|
|
|||
|
|
@ -235,8 +235,8 @@ class SubversionRepository(base.BaseRepository):
|
|||
try:
|
||||
SubversionRepository(path)
|
||||
return True
|
||||
except VCSError:
|
||||
pass
|
||||
except VCSError as e:
|
||||
log.warning(f"VCSError: {repr(e)}")
|
||||
return False
|
||||
|
||||
@LazyProperty
|
||||
|
|
@ -307,7 +307,7 @@ class SubversionRepository(base.BaseRepository):
|
|||
|
||||
start_raw_id = self._sanitize_commit_id(start_id)
|
||||
end_raw_id = self._sanitize_commit_id(end_id)
|
||||
|
||||
|
||||
# for empty revisions in SVN
|
||||
if start_raw_id not in self.commit_ids or end_raw_id not in self.commit_ids:
|
||||
return base.CollectionGenerator(self, [])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue