This is an automated email from the ASF dual-hosted git repository. brondsem pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/allura.git
The following commit(s) were added to refs/heads/master by this push: new f0a23b4e5 Lower SVN import retry count significantly; block imports from plugins.svn.wordpress.org since it has millions of revisions f0a23b4e5 is described below commit f0a23b4e5138e7cf960556b7da4dbfa02b75f71d Author: Dave Brondsema <dbronds...@slashdotmedia.com> AuthorDate: Mon Jul 11 13:10:46 2022 -0400 Lower SVN import retry count significantly; block imports from plugins.svn.wordpress.org since it has millions of revisions --- Allura/development.ini | 2 +- ForgeSVN/forgesvn/model/svn.py | 2 +- ForgeSVN/forgesvn/widgets.py | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Allura/development.ini b/Allura/development.ini index f53b9aa75..af474b5f6 100644 --- a/Allura/development.ini +++ b/Allura/development.ini @@ -398,7 +398,7 @@ scm.repos.tarball.zip_binary = /usr/bin/zip ; SCM imports (currently just SVN) will retry if it fails ; You can control the number of tries and delay between tries here: -scm.import.retry_count = 50 +scm.import.retry_count = 3 scm.import.retry_sleep_secs = 5 ; When getting a list of valid references (branches/tags) from a repo, you can cache diff --git a/ForgeSVN/forgesvn/model/svn.py b/ForgeSVN/forgesvn/model/svn.py index c10edf751..6501374c5 100644 --- a/ForgeSVN/forgesvn/model/svn.py +++ b/ForgeSVN/forgesvn/model/svn.py @@ -271,7 +271,7 @@ class SVNImplementation(M.RepositoryImplementation): clear_hook('pre-revprop-change') else: def retry_cmd(cmd, fail_count=0): - max_fail = asint(tg.config.get('scm.import.retry_count', 50)) + max_fail = asint(tg.config.get('scm.import.retry_count', 3)) returncode = -1 while returncode != 0 and fail_count < max_fail: stdout, stderr, returncode = self.check_call(cmd, fail_on_error=False) diff --git a/ForgeSVN/forgesvn/widgets.py b/ForgeSVN/forgesvn/widgets.py index 060560c94..8f4ad6539 100644 --- a/ForgeSVN/forgesvn/widgets.py +++ b/ForgeSVN/forgesvn/widgets.py @@ -19,6 +19,7 @@ import re import ew as ew_core import ew.jinja2_ew as ew +from formencode import validators as fev from allura.lib import validators from allura.lib.widgets.forms import ForgeForm @@ -39,6 +40,12 @@ class ValidateSvnUrl(validators.URLIsPrivate): $ ''', re.I | re.VERBOSE) + def _to_python(self, value, state): + value = super()._to_python(value, state) + if 'plugins.svn.wordpress.org' in value: + raise fev.Invalid("That SVN repo is to large to import from.", value, state) + return value + class ImportForm(ForgeForm): submit_text = 'Import'