# HG changeset patch # User Mads Kiilerich # Date 1620776009 -7200 # Node ID 75321e00238c7460d2f2f9dcb6f50bd87238e35a # Parent 0c5a669e44df8dfceefa9e7e208abff912e13d81# Parent 8bad7d298171fd9ec99ae6c4569fdcbd70bd7cb0 Merge from stable diff -r 0c5a669e44df -r 75321e00238c .hgtags --- a/.hgtags Mon Dec 21 01:13:25 2020 +0100 +++ b/.hgtags Wed May 12 01:33:29 2021 +0200 @@ -78,3 +78,5 @@ aa0a637fa6f635a5e024fa56b19ed2a2dacca857 0.5.2 9f5ca9088067618d79129d224c35c818bd2d2f12 0.6.0 a22edac2be58eaf68d1940d4dfeb88fadbabb43a 0.6.1 +22bfca5da6f56738f6220d24bb6ce2f9bc4f9b1e 0.6.2 +213450cbdc11fff8508ba25101dc05ab74048e55 0.6.3 diff -r 0c5a669e44df -r 75321e00238c CONTRIBUTORS --- a/CONTRIBUTORS Mon Dec 21 01:13:25 2020 +0100 +++ b/CONTRIBUTORS Wed May 12 01:33:29 2021 +0200 @@ -6,6 +6,7 @@ Allan Nordhøy 2017-2020 Anton Schur 2017 2020 ssantos 2018-2020 + Manuel Jacob 2019-2020 Private 2019-2020 David Ignjić 2020 Dennis Fink 2020 @@ -21,7 +22,6 @@ Elizabeth Sherrock 2019 Hüseyin Tunç 2019 leela <53352@protonmail.com> 2019 - Manuel Jacob 2019 Mateusz Mendel 2019 Nathan 2019 Oleksandr Shtalinberg 2019 diff -r 0c5a669e44df -r 75321e00238c README.rst --- a/README.rst Mon Dec 21 01:13:25 2020 +0100 +++ b/README.rst Wed May 12 01:33:29 2021 +0200 @@ -135,9 +135,8 @@ - Follow Kallithea on Twitter, **@KallitheaSCM**. -- The `old issue tracker `_ - is defunct after it was deleted by Bitbucket_. For now, please report issues - on the mailing list. +- Please report issues on the mailing list. An archive of the old issue tracker + is available at: https://kallithea-scm.org/bitbucket-archive/issues/index.html .. note:: diff -r 0c5a669e44df -r 75321e00238c development.ini --- a/development.ini Mon Dec 21 01:13:25 2020 +0100 +++ b/development.ini Wed May 12 01:33:29 2021 +0200 @@ -259,7 +259,7 @@ ## Example: use the message queue on the local virtual host 'kallitheavhost' as the RabbitMQ user 'kallithea': celery.broker_url = amqp://kallithea:thepassword@localhost:5672/kallitheavhost -celery.result.backend = db+sqlite:///celery-results.db +celery.result_backend = db+sqlite:///celery-results.db #celery.amqp.task.result.expires = 18000 diff -r 0c5a669e44df -r 75321e00238c docs/contributing.rst --- a/docs/contributing.rst Mon Dec 21 01:13:25 2020 +0100 +++ b/docs/contributing.rst Wed May 12 01:33:29 2021 +0200 @@ -15,9 +15,7 @@ https://kallithea-scm.org/repos/kallithea/, our self-hosted instance of Kallithea. -For now, we use Bitbucket_ for `pull requests`_ and `issue tracking`_. The -issue tracker is for tracking bugs, not for support, discussion, or ideas -- -please use the `mailing list`_ or :ref:`IRC ` to reach the community. +Please use the `mailing list`_ to send patches or report issues. We use Weblate_ to translate the user interface messages into languages other than English. Join our project on `Hosted Weblate`_ to help us. @@ -42,11 +40,6 @@ gearbox serve -c my.ini --reload & firefox http://127.0.0.1:5000/ -If you plan to use Bitbucket_ for sending contributions, you can also fork -Kallithea on Bitbucket_ first (https://bitbucket.org/conservancy/kallithea) and -then replace the clone step above by a clone of your fork. In this case, please -see :ref:`contributing-guidelines` below for configuring your fork correctly. - Contribution flow ----------------- @@ -73,8 +66,7 @@ ./scripts/run-all-cleanup When you are completely ready, you can send your changes to the community for -review and inclusion. Most commonly used methods are sending patches to the -mailing list (via ``hg email``) or by creating a pull request on Bitbucket_. +review and inclusion, via the mailing list (via ``hg email``). .. _contributing-tests: @@ -155,18 +147,9 @@ lot about preservation of copyright and license information for existing code that is brought into the project. -Contributions will be accepted in most formats -- such as pull requests on -Bitbucket, something hosted on your own Kallithea instance, or patches sent by +Contributions will be accepted in most formats -- such as commits hosted on your own Kallithea instance, or patches sent by email to the `kallithea-general`_ mailing list. -When contributing via Bitbucket, please make your fork of -https://bitbucket.org/conservancy/kallithea/ `non-publishing`_ -- it is one of -the settings on "Repository details" page. This ensures your commits are in -"draft" phase and makes it easier for you to address feedback and for project -maintainers to integrate your changes. - -.. _non-publishing: https://www.mercurial-scm.org/wiki/Phases#Publishing_Repository - Make sure to test your changes both manually and with the automatic tests before posting. @@ -300,26 +283,14 @@ ``pip``) and restart Kallithea (in debug mode). -"Roadmap" ---------- - -We do not have a road map but are waiting for your contributions. Refer to the -wiki_ for some ideas of places we might want to go -- contributions in these -areas are very welcome. - - Thank you for your contribution! -------------------------------- .. _Weblate: http://weblate.org/ -.. _issue tracking: https://bitbucket.org/conservancy/kallithea/issues?status=new&status=open -.. _pull requests: https://bitbucket.org/conservancy/kallithea/pull-requests -.. _bitbucket: http://bitbucket.org/ .. _mailing list: http://lists.sfconservancy.org/mailman/listinfo/kallithea-general .. _kallithea-general: http://lists.sfconservancy.org/mailman/listinfo/kallithea-general .. _Hosted Weblate: https://hosted.weblate.org/projects/kallithea/kallithea/ -.. _wiki: https://bitbucket.org/conservancy/kallithea/wiki/Home .. _DebugBar: https://github.com/TurboGears/tgext.debugbar .. _Quick Start: https://www.mercurial-scm.org/wiki/QuickStart .. _Beginners Guide: https://www.mercurial-scm.org/wiki/BeginnersGuides diff -r 0c5a669e44df -r 75321e00238c docs/index.rst --- a/docs/index.rst Mon Dec 21 01:13:25 2020 +0100 +++ b/docs/index.rst Wed May 12 01:33:29 2021 +0200 @@ -81,7 +81,6 @@ .. _python: http://www.python.org/ .. _django: http://www.djangoproject.com/ .. _mercurial: https://www.mercurial-scm.org/ -.. _bitbucket: http://bitbucket.org/ .. _subversion: http://subversion.tigris.org/ .. _git: http://git-scm.com/ .. _celery: http://celeryproject.org/ diff -r 0c5a669e44df -r 75321e00238c kallithea/__init__.py --- a/kallithea/__init__.py Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/__init__.py Wed May 12 01:33:29 2021 +0200 @@ -34,7 +34,7 @@ if sys.version_info < (3, 6): raise Exception('Kallithea requires python 3.6 or later') -VERSION = (0, 6, 1) +VERSION = (0, 6, 3) BACKENDS = { 'hg': 'Mercurial repository', 'git': 'Git repository', diff -r 0c5a669e44df -r 75321e00238c kallithea/bin/kallithea_cli_front_end.py --- a/kallithea/bin/kallithea_cli_front_end.py Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/bin/kallithea_cli_front_end.py Wed May 12 01:33:29 2021 +0200 @@ -57,7 +57,7 @@ '-f', 'html', '-a', '.code-highlight'], stdout=f) - lesscpath = os.path.join(front_end_dir, 'node_modules', '.bin', 'lessc') + lesscpath = os.path.join(front_end_dir, 'node_modules', 'less', 'bin', 'lessc') lesspath = os.path.join(front_end_dir, 'main.less') csspath = os.path.join(public_dir, 'css', 'style.css') subprocess.check_call([lesscpath, '--source-map', @@ -91,7 +91,7 @@ shutil.copytree(os.path.join(front_end_dir, 'node_modules', 'codemirror'), os.path.join(public_dir, 'codemirror')) click.echo("Generating LICENSES.txt") - license_checker_path = os.path.join(front_end_dir, 'node_modules', '.bin', 'license-checker') + license_checker_path = os.path.join(front_end_dir, 'node_modules', 'license-checker', 'bin', 'license-checker') check_licensing_json_path = os.path.join(tmp_dir, 'licensing.json') licensing_txt_path = os.path.join(public_dir, 'LICENSES.txt') subprocess.check_call([license_checker_path, '--json', '--out', check_licensing_json_path], diff -r 0c5a669e44df -r 75321e00238c kallithea/controllers/admin/repo_groups.py --- a/kallithea/controllers/admin/repo_groups.py Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/controllers/admin/repo_groups.py Wed May 12 01:33:29 2021 +0200 @@ -117,7 +117,7 @@ children_groups = [g.name for g in repo_gr.parents] + [repo_gr.name] repo_count = repo_gr.repositories.count() repo_groups_data.append({ - "raw_name": repo_gr.group_name, + "raw_name": h.escape(repo_gr.group_name), "group_name": repo_group_name(repo_gr.group_name, children_groups), "desc": h.escape(repo_gr.group_description), "repos": repo_count, @@ -174,14 +174,14 @@ raise HTTPFound(location=url('repos_group_home', group_name=gr.group_name)) def new(self): + parent_group_id = safe_int(request.GET.get('parent_group') or '-1') if HasPermissionAny('hg.admin')('group create'): # we're global admin, we're ok and we can create TOP level groups pass else: # we pass in parent group into creation form, thus we know # what would be the group, we can check perms here ! - group_id = safe_int(request.GET.get('parent_group')) - group = RepoGroup.get(group_id) if group_id else None + group = RepoGroup.get(parent_group_id) if parent_group_id else None group_name = group.group_name if group else None if HasRepoGroupPermissionLevel('admin')(group_name, 'group create'): pass @@ -189,7 +189,13 @@ raise HTTPForbidden() self.__load_defaults() - return render('admin/repo_groups/repo_group_add.html') + return htmlfill.render( + render('admin/repo_groups/repo_group_add.html'), + defaults={'parent_group_id': parent_group_id}, + errors={}, + prefix_error=False, + encoding="UTF-8", + force_defaults=False) @HasRepoGroupPermissionLevelDecorator('admin') def update(self, group_name): diff -r 0c5a669e44df -r 75321e00238c kallithea/controllers/admin/repos.py --- a/kallithea/controllers/admin/repos.py Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/controllers/admin/repos.py Wed May 12 01:33:29 2021 +0200 @@ -157,7 +157,9 @@ if prg is None or not any(rgc[0] == prg.group_id for rgc in c.repo_groups): raise HTTPForbidden - defaults.update({'repo_group': parent_group}) + else: + parent_group = '-1' + defaults.update({'repo_group': parent_group}) return htmlfill.render( render('admin/repos/repo_add.html'), diff -r 0c5a669e44df -r 75321e00238c kallithea/controllers/api/api.py --- a/kallithea/controllers/api/api.py Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/controllers/api/api.py Wed May 12 01:33:29 2021 +0200 @@ -1167,7 +1167,7 @@ 'failed to get repo: `%s` nodes' % repo.repo_name ) - @HasPermissionAnyDecorator('hg.admin', 'hg.create.repository') + # permission check inside def create_repo(self, repo_name, owner=Optional(OAttr('apiuser')), repo_type=Optional('hg'), description=Optional(''), private=Optional(False), clone_uri=Optional(None), @@ -1224,6 +1224,19 @@ } """ + group_name = None + repo_name_parts = repo_name.split('/') + if len(repo_name_parts) > 1: + group_name = '/'.join(repo_name_parts[:-1]) + repo_group = RepoGroup.get_by_group_name(group_name) + if repo_group is None: + raise JSONRPCError("repo group `%s` not found" % group_name) + if not(HasPermissionAny('hg.admin')() or HasRepoGroupPermissionLevel('write')(group_name)): + raise JSONRPCError("no permission to create repo in %s" % group_name) + else: + if not HasPermissionAny('hg.admin', 'hg.create.repository')(): + raise JSONRPCError("no permission to create top level repo") + if not HasPermissionAny('hg.admin')(): if not isinstance(owner, Optional): # forbid setting owner for non-admins @@ -1254,13 +1267,6 @@ copy_permissions = Optional.extract(copy_permissions) try: - repo_name_parts = repo_name.split('/') - repo_group = None - if len(repo_name_parts) > 1: - group_name = '/'.join(repo_name_parts[:-1]) - repo_group = RepoGroup.get_by_group_name(group_name) - if repo_group is None: - raise JSONRPCError("repo group `%s` not found" % group_name) data = dict( repo_name=repo_name_parts[-1], repo_name_full=repo_name, @@ -1269,14 +1275,14 @@ owner=owner, repo_private=private, clone_uri=clone_uri, - repo_group=repo_group, + repo_group=group_name, repo_landing_rev=landing_rev, enable_statistics=enable_statistics, enable_downloads=enable_downloads, repo_copy_permissions=copy_permissions, ) - task = RepoModel().create(form_data=data, cur_user=owner) + task = RepoModel().create(form_data=data, cur_user=owner.username) task_id = task.task_id # no commit, it's done in RepoModel, or async via celery return dict( @@ -1319,10 +1325,10 @@ if not HasRepoPermissionLevel('admin')(repo.repo_name): raise JSONRPCError('repository `%s` does not exist' % (repoid,)) - if (name != repo.repo_name and + if (name != repo.repo_name and repo.group_id is None and not HasPermissionAny('hg.create.repository')() ): - raise JSONRPCError('no permission to create (or move) repositories') + raise JSONRPCError('no permission to create (or move) top level repositories') if not isinstance(owner, Optional): # forbid setting owner for non-admins @@ -1333,7 +1339,10 @@ updates = {} repo_group = group if not isinstance(repo_group, Optional): - repo_group = get_repo_group_or_error(repo_group) + repo_group = get_repo_group_or_error(repo_group) # TODO: repos can thus currently not be moved to root + if repo_group.group_id != repo.group_id: + if not(HasPermissionAny('hg.admin')() or HasRepoGroupPermissionLevel('write')(repo_group.group_name)): + raise JSONRPCError("no permission to create (or move) repo in %s" % repo_group.group_name) repo_group = repo_group.group_id try: store_update(updates, name, 'repo_name') @@ -1356,6 +1365,7 @@ log.error(traceback.format_exc()) raise JSONRPCError('failed to update repo `%s`' % repoid) + # permission check inside @HasPermissionAnyDecorator('hg.admin', 'hg.fork.repository') def fork_repo(self, repoid, fork_name, owner=Optional(OAttr('apiuser')), @@ -1410,6 +1420,19 @@ type_ = 'fork' if _repo.fork else 'repo' raise JSONRPCError("%s `%s` already exist" % (type_, fork_name)) + group_name = None + fork_name_parts = fork_name.split('/') + if len(fork_name_parts) > 1: + group_name = '/'.join(fork_name_parts[:-1]) + repo_group = RepoGroup.get_by_group_name(group_name) + if repo_group is None: + raise JSONRPCError("repo group `%s` not found" % group_name) + if not(HasPermissionAny('hg.admin')() or HasRepoGroupPermissionLevel('write')(group_name)): + raise JSONRPCError("no permission to create repo in %s" % group_name) + else: + if not HasPermissionAny('hg.admin', 'hg.create.repository')(): + raise JSONRPCError("no permission to create top level repo") + if HasPermissionAny('hg.admin')(): pass elif HasRepoPermissionLevel('read')(repo.repo_name): @@ -1418,9 +1441,6 @@ raise JSONRPCError( 'Only Kallithea admin can specify `owner` param' ) - - if not HasPermissionAny('hg.create.repository')(): - raise JSONRPCError('no permission to create repositories') else: raise JSONRPCError('repository `%s` does not exist' % (repoid,)) @@ -1430,18 +1450,10 @@ owner = get_user_or_error(owner) try: - fork_name_parts = fork_name.split('/') - repo_group = None - if len(fork_name_parts) > 1: - group_name = '/'.join(fork_name_parts[:-1]) - repo_group = RepoGroup.get_by_group_name(group_name) - if repo_group is None: - raise JSONRPCError("repo group `%s` not found" % group_name) - form_data = dict( repo_name=fork_name_parts[-1], repo_name_full=fork_name, - repo_group=repo_group, + repo_group=group_name, repo_type=repo.repo_type, description=Optional.extract(description), private=Optional.extract(private), @@ -1450,7 +1462,7 @@ update_after_clone=False, fork_parent_id=repo.repo_id, ) - task = RepoModel().create_fork(form_data, cur_user=owner) + task = RepoModel().create_fork(form_data, cur_user=owner.username) # no commit, it's done in RepoModel, or async via celery task_id = task.task_id return dict( diff -r 0c5a669e44df -r 75321e00238c kallithea/i18n/be/LC_MESSAGES/kallithea.po --- a/kallithea/i18n/be/LC_MESSAGES/kallithea.po Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/i18n/be/LC_MESSAGES/kallithea.po Wed May 12 01:33:29 2021 +0200 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2020-10-05 00:01+0200\n" +"POT-Creation-Date: 2021-05-12 01:32+0200\n" "PO-Revision-Date: 2017-08-20 10:44+0000\n" "Last-Translator: Viktar Vauchkevich \n" "Language-Team: Belarusian \n" "Language-Team: Czech \n" "Language-Team: Danish \n" "Language-Team: German \n" "Language-Team: Greek \n" "Language-Team: Spanish \n" "Language-Team: French \n" "Language-Team: Hungarian \n" "Language-Team: Japanese , 2020. +# FIRST AUTHOR , 2021. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Kallithea 0.6.1\n" +"Project-Id-Version: Kallithea 0.6.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2020-10-05 00:01+0200\n" +"POT-Creation-Date: 2021-05-12 01:32+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.8.0\n" +"Generated-By: Babel 2.8.1\n" #: kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 kallithea/lib/base.py:602 @@ -674,11 +674,11 @@ msgid "Allowed with automatic account activation" msgstr "" -#: kallithea/controllers/admin/permissions.py:85 kallithea/model/db.py:1578 +#: kallithea/controllers/admin/permissions.py:85 kallithea/model/db.py:1579 msgid "Manual activation of external account" msgstr "" -#: kallithea/controllers/admin/permissions.py:86 kallithea/model/db.py:1579 +#: kallithea/controllers/admin/permissions.py:86 kallithea/model/db.py:1580 msgid "Automatic activation of external account" msgstr "" @@ -710,48 +710,48 @@ msgid "Created repository group %s" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:219 +#: kallithea/controllers/admin/repo_groups.py:225 #, python-format msgid "Updated repository group %s" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:235 +#: kallithea/controllers/admin/repo_groups.py:241 #, python-format msgid "Error occurred during update of repository group %s" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:245 +#: kallithea/controllers/admin/repo_groups.py:251 #, python-format msgid "This group contains %s repositories and cannot be deleted" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:252 -#, python-format -msgid "This group contains %s subgroups and cannot be deleted" -msgstr "" - #: kallithea/controllers/admin/repo_groups.py:258 #, python-format +msgid "This group contains %s subgroups and cannot be deleted" +msgstr "" + +#: kallithea/controllers/admin/repo_groups.py:264 +#, python-format msgid "Removed repository group %s" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:263 +#: kallithea/controllers/admin/repo_groups.py:269 #, python-format msgid "Error occurred during deletion of repository group %s" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:347 -#: kallithea/controllers/admin/repo_groups.py:377 +#: kallithea/controllers/admin/repo_groups.py:353 +#: kallithea/controllers/admin/repo_groups.py:383 #: kallithea/controllers/admin/user_groups.py:290 msgid "Cannot revoke permission for yourself as admin" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:362 +#: kallithea/controllers/admin/repo_groups.py:368 msgid "Repository group permissions updated" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:394 -#: kallithea/controllers/admin/repos.py:357 +#: kallithea/controllers/admin/repo_groups.py:400 +#: kallithea/controllers/admin/repos.py:359 #: kallithea/controllers/admin/user_groups.py:302 msgid "An error occurred during revoking of permission" msgstr "" @@ -761,108 +761,108 @@ msgid "Error creating repository %s" msgstr "" -#: kallithea/controllers/admin/repos.py:193 +#: kallithea/controllers/admin/repos.py:195 #, python-format msgid "Created repository %s from %s" msgstr "" -#: kallithea/controllers/admin/repos.py:202 +#: kallithea/controllers/admin/repos.py:204 #, python-format msgid "Forked repository %s as %s" msgstr "" -#: kallithea/controllers/admin/repos.py:205 +#: kallithea/controllers/admin/repos.py:207 #, python-format msgid "Created repository %s" msgstr "" -#: kallithea/controllers/admin/repos.py:234 +#: kallithea/controllers/admin/repos.py:236 #, python-format msgid "Repository %s updated successfully" msgstr "" -#: kallithea/controllers/admin/repos.py:254 +#: kallithea/controllers/admin/repos.py:256 #, python-format msgid "Error occurred during update of repository %s" msgstr "" -#: kallithea/controllers/admin/repos.py:272 +#: kallithea/controllers/admin/repos.py:274 #, python-format msgid "Detached %s forks" msgstr "" -#: kallithea/controllers/admin/repos.py:275 +#: kallithea/controllers/admin/repos.py:277 #, python-format msgid "Deleted %s forks" msgstr "" -#: kallithea/controllers/admin/repos.py:280 +#: kallithea/controllers/admin/repos.py:282 #, python-format msgid "Deleted repository %s" msgstr "" -#: kallithea/controllers/admin/repos.py:283 +#: kallithea/controllers/admin/repos.py:285 #, python-format msgid "Cannot delete repository %s which still has forks" msgstr "" -#: kallithea/controllers/admin/repos.py:288 +#: kallithea/controllers/admin/repos.py:290 #, python-format msgid "An error occurred during deletion of %s" msgstr "" -#: kallithea/controllers/admin/repos.py:328 +#: kallithea/controllers/admin/repos.py:330 msgid "Repository permissions updated" msgstr "" -#: kallithea/controllers/admin/repos.py:387 +#: kallithea/controllers/admin/repos.py:389 #, python-format msgid "Field validation error: %s" msgstr "" -#: kallithea/controllers/admin/repos.py:390 +#: kallithea/controllers/admin/repos.py:392 #, python-format msgid "An error occurred during creation of field: %r" msgstr "" -#: kallithea/controllers/admin/repos.py:401 +#: kallithea/controllers/admin/repos.py:403 msgid "An error occurred during removal of field" msgstr "" -#: kallithea/controllers/admin/repos.py:415 +#: kallithea/controllers/admin/repos.py:417 msgid "-- Not a fork --" msgstr "" -#: kallithea/controllers/admin/repos.py:447 +#: kallithea/controllers/admin/repos.py:449 msgid "Updated repository visibility in public journal" msgstr "" -#: kallithea/controllers/admin/repos.py:451 +#: kallithea/controllers/admin/repos.py:453 msgid "An error occurred during setting this repository in public journal" msgstr "" -#: kallithea/controllers/admin/repos.py:467 -msgid "Nothing" -msgstr "" - #: kallithea/controllers/admin/repos.py:469 +msgid "Nothing" +msgstr "" + +#: kallithea/controllers/admin/repos.py:471 #, python-format msgid "Marked repository %s as fork of %s" msgstr "" -#: kallithea/controllers/admin/repos.py:476 +#: kallithea/controllers/admin/repos.py:478 msgid "An error occurred during this operation" msgstr "" -#: kallithea/controllers/admin/repos.py:488 +#: kallithea/controllers/admin/repos.py:490 msgid "Pulled from remote location" msgstr "" -#: kallithea/controllers/admin/repos.py:491 +#: kallithea/controllers/admin/repos.py:493 msgid "An error occurred during pull from remote location" msgstr "" -#: kallithea/controllers/admin/repos.py:522 +#: kallithea/controllers/admin/repos.py:524 msgid "An error occurred during deletion of repository stats" msgstr "" @@ -1327,127 +1327,127 @@ msgid "[Mention]" msgstr "" -#: kallithea/model/db.py:1411 +#: kallithea/model/db.py:1412 msgid "top level" msgstr "" -#: kallithea/model/db.py:1542 +#: kallithea/model/db.py:1543 msgid "Kallithea Administrator" msgstr "" -#: kallithea/model/db.py:1544 -msgid "Default user has no access to new repositories" -msgstr "" - #: kallithea/model/db.py:1545 -msgid "Default user has read access to new repositories" +msgid "Default user has no access to new repositories" msgstr "" #: kallithea/model/db.py:1546 -msgid "Default user has write access to new repositories" +msgid "Default user has read access to new repositories" msgstr "" #: kallithea/model/db.py:1547 +msgid "Default user has write access to new repositories" +msgstr "" + +#: kallithea/model/db.py:1548 msgid "Default user has admin access to new repositories" msgstr "" -#: kallithea/model/db.py:1549 -msgid "Default user has no access to new repository groups" -msgstr "" - #: kallithea/model/db.py:1550 -msgid "Default user has read access to new repository groups" +msgid "Default user has no access to new repository groups" msgstr "" #: kallithea/model/db.py:1551 -msgid "Default user has write access to new repository groups" +msgid "Default user has read access to new repository groups" msgstr "" #: kallithea/model/db.py:1552 +msgid "Default user has write access to new repository groups" +msgstr "" + +#: kallithea/model/db.py:1553 msgid "Default user has admin access to new repository groups" msgstr "" -#: kallithea/model/db.py:1554 -msgid "Default user has no access to new user groups" -msgstr "" - #: kallithea/model/db.py:1555 -msgid "Default user has read access to new user groups" +msgid "Default user has no access to new user groups" msgstr "" #: kallithea/model/db.py:1556 -msgid "Default user has write access to new user groups" +msgid "Default user has read access to new user groups" msgstr "" #: kallithea/model/db.py:1557 +msgid "Default user has write access to new user groups" +msgstr "" + +#: kallithea/model/db.py:1558 msgid "Default user has admin access to new user groups" msgstr "" -#: kallithea/model/db.py:1559 -msgid "Only admins can create repository groups" -msgstr "" - #: kallithea/model/db.py:1560 +msgid "Only admins can create repository groups" +msgstr "" + +#: kallithea/model/db.py:1561 msgid "Non-admins can create repository groups" msgstr "" -#: kallithea/model/db.py:1562 -msgid "Only admins can create user groups" -msgstr "" - #: kallithea/model/db.py:1563 +msgid "Only admins can create user groups" +msgstr "" + +#: kallithea/model/db.py:1564 msgid "Non-admins can create user groups" msgstr "" -#: kallithea/model/db.py:1565 -msgid "Only admins can create top level repositories" -msgstr "" - #: kallithea/model/db.py:1566 +msgid "Only admins can create top level repositories" +msgstr "" + +#: kallithea/model/db.py:1567 msgid "Non-admins can create top level repositories" msgstr "" -#: kallithea/model/db.py:1568 -msgid "Repository creation enabled with write permission to a repository group" -msgstr "" - #: kallithea/model/db.py:1569 +msgid "Repository creation enabled with write permission to a repository group" +msgstr "" + +#: kallithea/model/db.py:1570 msgid "Repository creation disabled with write permission to a repository group" msgstr "" -#: kallithea/model/db.py:1571 -msgid "Only admins can fork repositories" -msgstr "" - #: kallithea/model/db.py:1572 +msgid "Only admins can fork repositories" +msgstr "" + +#: kallithea/model/db.py:1573 msgid "Non-admins can fork repositories" msgstr "" -#: kallithea/model/db.py:1574 -msgid "Registration disabled" -msgstr "" - #: kallithea/model/db.py:1575 -msgid "User registration with manual account activation" +msgid "Registration disabled" msgstr "" #: kallithea/model/db.py:1576 +msgid "User registration with manual account activation" +msgstr "" + +#: kallithea/model/db.py:1577 msgid "User registration with automatic account activation" msgstr "" -#: kallithea/model/db.py:1992 -msgid "Not reviewed" -msgstr "" - #: kallithea/model/db.py:1993 -msgid "Under review" +msgid "Not reviewed" msgstr "" #: kallithea/model/db.py:1994 -msgid "Not approved" +msgid "Under review" msgstr "" #: kallithea/model/db.py:1995 +msgid "Not approved" +msgstr "" + +#: kallithea/model/db.py:1996 msgid "Approved" msgstr "" @@ -2105,7 +2105,7 @@ #: kallithea/templates/admin/defaults/defaults.html:59 #: kallithea/templates/admin/my_account/my_account_password.html:30 #: kallithea/templates/admin/my_account/my_account_profile.html:47 -#: kallithea/templates/admin/permissions/permissions_globals.html:95 +#: kallithea/templates/admin/permissions/permissions_globals.html:94 #: kallithea/templates/admin/repo_groups/repo_group_add.html:58 #: kallithea/templates/admin/repo_groups/repo_group_edit_perms.html:98 #: kallithea/templates/admin/repo_groups/repo_group_edit_settings.html:27 @@ -2288,7 +2288,7 @@ #: kallithea/templates/admin/my_account/my_account_password.html:31 #: kallithea/templates/admin/my_account/my_account_profile.html:48 #: kallithea/templates/admin/my_account/my_account_ssh_keys.html:66 -#: kallithea/templates/admin/permissions/permissions_globals.html:96 +#: kallithea/templates/admin/permissions/permissions_globals.html:95 #: kallithea/templates/admin/permissions/permissions_ips.html:34 #: kallithea/templates/admin/repo_groups/repo_group_edit_perms.html:99 #: kallithea/templates/admin/repo_groups/repo_group_edit_settings.html:28 @@ -2717,44 +2717,38 @@ msgid "Enable this to allow non-admins to create repositories at the top level." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:57 -msgid "" -"Note: This will also give all users API access to create repositories " -"everywhere. That might change in future versions." -msgstr "" - -#: kallithea/templates/admin/permissions/permissions_globals.html:61 +#: kallithea/templates/admin/permissions/permissions_globals.html:60 msgid "Repository creation with group write access" msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:64 +#: kallithea/templates/admin/permissions/permissions_globals.html:63 msgid "" "With this, write permission to a repository group allows creating " "repositories inside that group. Without this, group write permissions " "mean nothing." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:68 +#: kallithea/templates/admin/permissions/permissions_globals.html:67 msgid "User group creation" msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:71 +#: kallithea/templates/admin/permissions/permissions_globals.html:70 msgid "Enable this to allow non-admins to create user groups." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:75 +#: kallithea/templates/admin/permissions/permissions_globals.html:74 msgid "Repository forking" msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:78 +#: kallithea/templates/admin/permissions/permissions_globals.html:77 msgid "Enable this to allow non-admins to fork repositories." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:82 +#: kallithea/templates/admin/permissions/permissions_globals.html:81 msgid "Registration" msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:88 +#: kallithea/templates/admin/permissions/permissions_globals.html:87 msgid "External auth account activation" msgstr "" @@ -3381,7 +3375,7 @@ #: kallithea/templates/admin/settings/settings_search.html:12 msgid "" -"This option completely reindexeses all of the repositories for proper " +"This option completely reindexes all of the repositories for proper " "fulltext search capabilities." msgstr "" @@ -4161,6 +4155,11 @@ msgid "Changeset status: %s by %s" msgstr "" +#: kallithea/templates/changelog/changelog_table.html:58 +#: kallithea/templates/pullrequests/pullrequest_show.html:170 +msgid "(No commit message)" +msgstr "" + #: kallithea/templates/changelog/changelog_table.html:60 msgid "Expand commit message" msgstr "" diff -r 0c5a669e44df -r 75321e00238c kallithea/i18n/lb/LC_MESSAGES/kallithea.po --- a/kallithea/i18n/lb/LC_MESSAGES/kallithea.po Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/i18n/lb/LC_MESSAGES/kallithea.po Wed May 12 01:33:29 2021 +0200 @@ -3,7 +3,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2020-10-05 00:01+0200\n" +"POT-Creation-Date: 2021-05-12 01:32+0200\n" "PO-Revision-Date: 2020-04-13 19:42+0000\n" "Last-Translator: Dennis Fink \n" "Language: lb\n" @@ -674,11 +674,11 @@ msgid "Allowed with automatic account activation" msgstr "" -#: kallithea/controllers/admin/permissions.py:85 kallithea/model/db.py:1578 +#: kallithea/controllers/admin/permissions.py:85 kallithea/model/db.py:1579 msgid "Manual activation of external account" msgstr "" -#: kallithea/controllers/admin/permissions.py:86 kallithea/model/db.py:1579 +#: kallithea/controllers/admin/permissions.py:86 kallithea/model/db.py:1580 msgid "Automatic activation of external account" msgstr "" @@ -710,48 +710,48 @@ msgid "Created repository group %s" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:219 +#: kallithea/controllers/admin/repo_groups.py:225 #, python-format msgid "Updated repository group %s" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:235 +#: kallithea/controllers/admin/repo_groups.py:241 #, python-format msgid "Error occurred during update of repository group %s" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:245 +#: kallithea/controllers/admin/repo_groups.py:251 #, python-format msgid "This group contains %s repositories and cannot be deleted" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:252 -#, python-format -msgid "This group contains %s subgroups and cannot be deleted" -msgstr "" - #: kallithea/controllers/admin/repo_groups.py:258 #, python-format +msgid "This group contains %s subgroups and cannot be deleted" +msgstr "" + +#: kallithea/controllers/admin/repo_groups.py:264 +#, python-format msgid "Removed repository group %s" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:263 +#: kallithea/controllers/admin/repo_groups.py:269 #, python-format msgid "Error occurred during deletion of repository group %s" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:347 -#: kallithea/controllers/admin/repo_groups.py:377 +#: kallithea/controllers/admin/repo_groups.py:353 +#: kallithea/controllers/admin/repo_groups.py:383 #: kallithea/controllers/admin/user_groups.py:290 msgid "Cannot revoke permission for yourself as admin" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:362 +#: kallithea/controllers/admin/repo_groups.py:368 msgid "Repository group permissions updated" msgstr "" -#: kallithea/controllers/admin/repo_groups.py:394 -#: kallithea/controllers/admin/repos.py:357 +#: kallithea/controllers/admin/repo_groups.py:400 +#: kallithea/controllers/admin/repos.py:359 #: kallithea/controllers/admin/user_groups.py:302 msgid "An error occurred during revoking of permission" msgstr "" @@ -761,108 +761,108 @@ msgid "Error creating repository %s" msgstr "" -#: kallithea/controllers/admin/repos.py:193 +#: kallithea/controllers/admin/repos.py:195 #, python-format msgid "Created repository %s from %s" msgstr "" -#: kallithea/controllers/admin/repos.py:202 +#: kallithea/controllers/admin/repos.py:204 #, python-format msgid "Forked repository %s as %s" msgstr "" -#: kallithea/controllers/admin/repos.py:205 +#: kallithea/controllers/admin/repos.py:207 #, python-format msgid "Created repository %s" msgstr "Quell %s erstallt" -#: kallithea/controllers/admin/repos.py:234 +#: kallithea/controllers/admin/repos.py:236 #, python-format msgid "Repository %s updated successfully" msgstr "" -#: kallithea/controllers/admin/repos.py:254 +#: kallithea/controllers/admin/repos.py:256 #, python-format msgid "Error occurred during update of repository %s" msgstr "" -#: kallithea/controllers/admin/repos.py:272 +#: kallithea/controllers/admin/repos.py:274 #, python-format msgid "Detached %s forks" msgstr "" -#: kallithea/controllers/admin/repos.py:275 +#: kallithea/controllers/admin/repos.py:277 #, python-format msgid "Deleted %s forks" msgstr "" -#: kallithea/controllers/admin/repos.py:280 +#: kallithea/controllers/admin/repos.py:282 #, python-format msgid "Deleted repository %s" msgstr "Quell %s geläscht" -#: kallithea/controllers/admin/repos.py:283 +#: kallithea/controllers/admin/repos.py:285 #, python-format msgid "Cannot delete repository %s which still has forks" msgstr "" -#: kallithea/controllers/admin/repos.py:288 +#: kallithea/controllers/admin/repos.py:290 #, python-format msgid "An error occurred during deletion of %s" msgstr "" -#: kallithea/controllers/admin/repos.py:328 +#: kallithea/controllers/admin/repos.py:330 msgid "Repository permissions updated" msgstr "" -#: kallithea/controllers/admin/repos.py:387 +#: kallithea/controllers/admin/repos.py:389 #, python-format msgid "Field validation error: %s" msgstr "" -#: kallithea/controllers/admin/repos.py:390 +#: kallithea/controllers/admin/repos.py:392 #, python-format msgid "An error occurred during creation of field: %r" msgstr "" -#: kallithea/controllers/admin/repos.py:401 +#: kallithea/controllers/admin/repos.py:403 msgid "An error occurred during removal of field" msgstr "" -#: kallithea/controllers/admin/repos.py:415 +#: kallithea/controllers/admin/repos.py:417 msgid "-- Not a fork --" msgstr "" -#: kallithea/controllers/admin/repos.py:447 +#: kallithea/controllers/admin/repos.py:449 msgid "Updated repository visibility in public journal" msgstr "" -#: kallithea/controllers/admin/repos.py:451 +#: kallithea/controllers/admin/repos.py:453 msgid "An error occurred during setting this repository in public journal" msgstr "" -#: kallithea/controllers/admin/repos.py:467 +#: kallithea/controllers/admin/repos.py:469 msgid "Nothing" msgstr "Näischt" -#: kallithea/controllers/admin/repos.py:469 +#: kallithea/controllers/admin/repos.py:471 #, python-format msgid "Marked repository %s as fork of %s" msgstr "" -#: kallithea/controllers/admin/repos.py:476 +#: kallithea/controllers/admin/repos.py:478 msgid "An error occurred during this operation" msgstr "" -#: kallithea/controllers/admin/repos.py:488 +#: kallithea/controllers/admin/repos.py:490 msgid "Pulled from remote location" msgstr "" -#: kallithea/controllers/admin/repos.py:491 +#: kallithea/controllers/admin/repos.py:493 msgid "An error occurred during pull from remote location" msgstr "" -#: kallithea/controllers/admin/repos.py:522 +#: kallithea/controllers/admin/repos.py:524 msgid "An error occurred during deletion of repository stats" msgstr "" @@ -1330,129 +1330,129 @@ msgid "[Mention]" msgstr "" -#: kallithea/model/db.py:1411 +#: kallithea/model/db.py:1412 msgid "top level" msgstr "" -#: kallithea/model/db.py:1542 +#: kallithea/model/db.py:1543 msgid "Kallithea Administrator" msgstr "" -#: kallithea/model/db.py:1544 -msgid "Default user has no access to new repositories" -msgstr "" - #: kallithea/model/db.py:1545 -msgid "Default user has read access to new repositories" +msgid "Default user has no access to new repositories" msgstr "" #: kallithea/model/db.py:1546 -msgid "Default user has write access to new repositories" +msgid "Default user has read access to new repositories" msgstr "" #: kallithea/model/db.py:1547 +msgid "Default user has write access to new repositories" +msgstr "" + +#: kallithea/model/db.py:1548 msgid "Default user has admin access to new repositories" msgstr "" -#: kallithea/model/db.py:1549 -msgid "Default user has no access to new repository groups" -msgstr "" - #: kallithea/model/db.py:1550 -msgid "Default user has read access to new repository groups" +msgid "Default user has no access to new repository groups" msgstr "" #: kallithea/model/db.py:1551 -msgid "Default user has write access to new repository groups" +msgid "Default user has read access to new repository groups" msgstr "" #: kallithea/model/db.py:1552 +msgid "Default user has write access to new repository groups" +msgstr "" + +#: kallithea/model/db.py:1553 msgid "Default user has admin access to new repository groups" msgstr "" -#: kallithea/model/db.py:1554 -msgid "Default user has no access to new user groups" -msgstr "" - #: kallithea/model/db.py:1555 -msgid "Default user has read access to new user groups" +msgid "Default user has no access to new user groups" msgstr "" #: kallithea/model/db.py:1556 -msgid "Default user has write access to new user groups" +msgid "Default user has read access to new user groups" msgstr "" #: kallithea/model/db.py:1557 +msgid "Default user has write access to new user groups" +msgstr "" + +#: kallithea/model/db.py:1558 msgid "Default user has admin access to new user groups" msgstr "" -#: kallithea/model/db.py:1559 -msgid "Only admins can create repository groups" -msgstr "" - #: kallithea/model/db.py:1560 +msgid "Only admins can create repository groups" +msgstr "" + +#: kallithea/model/db.py:1561 msgid "Non-admins can create repository groups" msgstr "" -#: kallithea/model/db.py:1562 -msgid "Only admins can create user groups" -msgstr "" - #: kallithea/model/db.py:1563 +msgid "Only admins can create user groups" +msgstr "" + +#: kallithea/model/db.py:1564 msgid "Non-admins can create user groups" msgstr "" -#: kallithea/model/db.py:1565 -msgid "Only admins can create top level repositories" -msgstr "" - #: kallithea/model/db.py:1566 +msgid "Only admins can create top level repositories" +msgstr "" + +#: kallithea/model/db.py:1567 msgid "Non-admins can create top level repositories" msgstr "" -#: kallithea/model/db.py:1568 -msgid "" -"Repository creation enabled with write permission to a repository group" -msgstr "" - #: kallithea/model/db.py:1569 msgid "" +"Repository creation enabled with write permission to a repository group" +msgstr "" + +#: kallithea/model/db.py:1570 +msgid "" "Repository creation disabled with write permission to a repository group" msgstr "" -#: kallithea/model/db.py:1571 -msgid "Only admins can fork repositories" -msgstr "" - #: kallithea/model/db.py:1572 +msgid "Only admins can fork repositories" +msgstr "" + +#: kallithea/model/db.py:1573 msgid "Non-admins can fork repositories" msgstr "" -#: kallithea/model/db.py:1574 -msgid "Registration disabled" -msgstr "" - #: kallithea/model/db.py:1575 -msgid "User registration with manual account activation" +msgid "Registration disabled" msgstr "" #: kallithea/model/db.py:1576 +msgid "User registration with manual account activation" +msgstr "" + +#: kallithea/model/db.py:1577 msgid "User registration with automatic account activation" msgstr "" -#: kallithea/model/db.py:1992 -msgid "Not reviewed" -msgstr "" - #: kallithea/model/db.py:1993 -msgid "Under review" +msgid "Not reviewed" msgstr "" #: kallithea/model/db.py:1994 -msgid "Not approved" +msgid "Under review" msgstr "" #: kallithea/model/db.py:1995 +msgid "Not approved" +msgstr "" + +#: kallithea/model/db.py:1996 msgid "Approved" msgstr "" @@ -2113,7 +2113,7 @@ #: kallithea/templates/admin/defaults/defaults.html:59 #: kallithea/templates/admin/my_account/my_account_password.html:30 #: kallithea/templates/admin/my_account/my_account_profile.html:47 -#: kallithea/templates/admin/permissions/permissions_globals.html:95 +#: kallithea/templates/admin/permissions/permissions_globals.html:94 #: kallithea/templates/admin/repo_groups/repo_group_add.html:58 #: kallithea/templates/admin/repo_groups/repo_group_edit_perms.html:98 #: kallithea/templates/admin/repo_groups/repo_group_edit_settings.html:27 @@ -2296,7 +2296,7 @@ #: kallithea/templates/admin/my_account/my_account_password.html:31 #: kallithea/templates/admin/my_account/my_account_profile.html:48 #: kallithea/templates/admin/my_account/my_account_ssh_keys.html:66 -#: kallithea/templates/admin/permissions/permissions_globals.html:96 +#: kallithea/templates/admin/permissions/permissions_globals.html:95 #: kallithea/templates/admin/permissions/permissions_ips.html:34 #: kallithea/templates/admin/repo_groups/repo_group_edit_perms.html:99 #: kallithea/templates/admin/repo_groups/repo_group_edit_settings.html:28 @@ -2727,44 +2727,38 @@ "Enable this to allow non-admins to create repositories at the top level." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:57 -msgid "" -"Note: This will also give all users API access to create repositories " -"everywhere. That might change in future versions." -msgstr "" - -#: kallithea/templates/admin/permissions/permissions_globals.html:61 +#: kallithea/templates/admin/permissions/permissions_globals.html:60 msgid "Repository creation with group write access" msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:64 +#: kallithea/templates/admin/permissions/permissions_globals.html:63 msgid "" "With this, write permission to a repository group allows creating " "repositories inside that group. Without this, group write permissions " "mean nothing." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:68 +#: kallithea/templates/admin/permissions/permissions_globals.html:67 msgid "User group creation" msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:71 +#: kallithea/templates/admin/permissions/permissions_globals.html:70 msgid "Enable this to allow non-admins to create user groups." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:75 +#: kallithea/templates/admin/permissions/permissions_globals.html:74 msgid "Repository forking" msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:78 +#: kallithea/templates/admin/permissions/permissions_globals.html:77 msgid "Enable this to allow non-admins to fork repositories." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:82 +#: kallithea/templates/admin/permissions/permissions_globals.html:81 msgid "Registration" msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:88 +#: kallithea/templates/admin/permissions/permissions_globals.html:87 msgid "External auth account activation" msgstr "" @@ -3394,7 +3388,7 @@ #: kallithea/templates/admin/settings/settings_search.html:12 msgid "" -"This option completely reindexeses all of the repositories for proper " +"This option completely reindexes all of the repositories for proper " "fulltext search capabilities." msgstr "" @@ -4179,6 +4173,11 @@ msgid "Changeset status: %s by %s" msgstr "" +#: kallithea/templates/changelog/changelog_table.html:58 +#: kallithea/templates/pullrequests/pullrequest_show.html:170 +msgid "(No commit message)" +msgstr "" + #: kallithea/templates/changelog/changelog_table.html:60 msgid "Expand commit message" msgstr "" diff -r 0c5a669e44df -r 75321e00238c kallithea/i18n/nb_NO/LC_MESSAGES/kallithea.po --- a/kallithea/i18n/nb_NO/LC_MESSAGES/kallithea.po Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/i18n/nb_NO/LC_MESSAGES/kallithea.po Wed May 12 01:33:29 2021 +0200 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3.99\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2020-10-05 00:01+0200\n" +"POT-Creation-Date: 2021-05-12 01:32+0200\n" "PO-Revision-Date: 2020-08-11 11:32+0000\n" "Last-Translator: Allan Nordhøy \n" "Language-Team: Norwegian Bokmål \n" "Language-Team: Flemish \n" "Language-Team: Polish =2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n" +"%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.5-dev\n" #: kallithea/controllers/changelog.py:67 @@ -691,11 +691,11 @@ msgid "Allowed with automatic account activation" msgstr "Dozwolona z automatyczną aktywacją konta" -#: kallithea/controllers/admin/permissions.py:85 kallithea/model/db.py:1578 +#: kallithea/controllers/admin/permissions.py:85 kallithea/model/db.py:1579 msgid "Manual activation of external account" msgstr "Ręczna aktywacja nowego konta" -#: kallithea/controllers/admin/permissions.py:86 kallithea/model/db.py:1579 +#: kallithea/controllers/admin/permissions.py:86 kallithea/model/db.py:1580 msgid "Automatic activation of external account" msgstr "Automatyczna aktywacja nowego konta" @@ -727,48 +727,48 @@ msgid "Created repository group %s" msgstr "Utworzono grupę repo %s" -#: kallithea/controllers/admin/repo_groups.py:219 +#: kallithea/controllers/admin/repo_groups.py:225 #, python-format msgid "Updated repository group %s" msgstr "Zaktualizowano grupę repo %s" -#: kallithea/controllers/admin/repo_groups.py:235 +#: kallithea/controllers/admin/repo_groups.py:241 #, python-format msgid "Error occurred during update of repository group %s" msgstr "Wystąpił błąd podczas aktualizacji grupy repo %s" -#: kallithea/controllers/admin/repo_groups.py:245 +#: kallithea/controllers/admin/repo_groups.py:251 #, python-format msgid "This group contains %s repositories and cannot be deleted" msgstr "Ta grupa zawiera %s repozytorium i nie może być usunięta" -#: kallithea/controllers/admin/repo_groups.py:252 -#, python-format -msgid "This group contains %s subgroups and cannot be deleted" -msgstr "Ta grupa zawiera %s repozytorium i nie może być usunięta" - #: kallithea/controllers/admin/repo_groups.py:258 #, python-format +msgid "This group contains %s subgroups and cannot be deleted" +msgstr "Ta grupa zawiera %s repozytorium i nie może być usunięta" + +#: kallithea/controllers/admin/repo_groups.py:264 +#, python-format msgid "Removed repository group %s" msgstr "Usunięto grupę repo %s" -#: kallithea/controllers/admin/repo_groups.py:263 +#: kallithea/controllers/admin/repo_groups.py:269 #, python-format msgid "Error occurred during deletion of repository group %s" msgstr "Wystąpił błąd podczas usuwania z repozytorium grupy %s" -#: kallithea/controllers/admin/repo_groups.py:347 -#: kallithea/controllers/admin/repo_groups.py:377 +#: kallithea/controllers/admin/repo_groups.py:353 +#: kallithea/controllers/admin/repo_groups.py:383 #: kallithea/controllers/admin/user_groups.py:290 msgid "Cannot revoke permission for yourself as admin" msgstr "Nie można cofnąć zezwolenia dla admina jako admin" -#: kallithea/controllers/admin/repo_groups.py:362 +#: kallithea/controllers/admin/repo_groups.py:368 msgid "Repository group permissions updated" msgstr "Aktualizacja uprawnień grup repozytorium" -#: kallithea/controllers/admin/repo_groups.py:394 -#: kallithea/controllers/admin/repos.py:357 +#: kallithea/controllers/admin/repo_groups.py:400 +#: kallithea/controllers/admin/repos.py:359 #: kallithea/controllers/admin/user_groups.py:302 msgid "An error occurred during revoking of permission" msgstr "Wystąpił błąd podczas cofania zezwolenia" @@ -778,110 +778,110 @@ msgid "Error creating repository %s" msgstr "Błąd podczas tworzenia repozytorium %s" -#: kallithea/controllers/admin/repos.py:193 +#: kallithea/controllers/admin/repos.py:195 #, python-format msgid "Created repository %s from %s" msgstr "utworzone repozytorium %s z %s" -#: kallithea/controllers/admin/repos.py:202 +#: kallithea/controllers/admin/repos.py:204 #, python-format msgid "Forked repository %s as %s" msgstr "Gałęzi %s w repozytorium %s" -#: kallithea/controllers/admin/repos.py:205 +#: kallithea/controllers/admin/repos.py:207 #, python-format msgid "Created repository %s" msgstr "Utworzone repozytorium %s" -#: kallithea/controllers/admin/repos.py:234 +#: kallithea/controllers/admin/repos.py:236 #, python-format msgid "Repository %s updated successfully" msgstr "Repozytorium %s zostało pomyślnie zaktualizowane" -#: kallithea/controllers/admin/repos.py:254 +#: kallithea/controllers/admin/repos.py:256 #, python-format msgid "Error occurred during update of repository %s" msgstr "Wystąpił błąd podczas aktualizacji repozytorium %s" -#: kallithea/controllers/admin/repos.py:272 +#: kallithea/controllers/admin/repos.py:274 #, python-format msgid "Detached %s forks" msgstr "Oderwane rozgałęzienie %s" -#: kallithea/controllers/admin/repos.py:275 +#: kallithea/controllers/admin/repos.py:277 #, python-format msgid "Deleted %s forks" msgstr "Usunięte rozgałęzienia %s" -#: kallithea/controllers/admin/repos.py:280 +#: kallithea/controllers/admin/repos.py:282 #, python-format msgid "Deleted repository %s" msgstr "Usunięte repozytorium %s" -#: kallithea/controllers/admin/repos.py:283 +#: kallithea/controllers/admin/repos.py:285 #, python-format msgid "Cannot delete repository %s which still has forks" msgstr "" "Nie można usunąć repozytorium %s nadal zawiera załączniki rozgałęzienia" -#: kallithea/controllers/admin/repos.py:288 +#: kallithea/controllers/admin/repos.py:290 #, python-format msgid "An error occurred during deletion of %s" msgstr "Wystąpił błąd podczas usuwania %s" -#: kallithea/controllers/admin/repos.py:328 +#: kallithea/controllers/admin/repos.py:330 msgid "Repository permissions updated" msgstr "Uprawnienia repozytorium zostały zaktualizowane" -#: kallithea/controllers/admin/repos.py:387 +#: kallithea/controllers/admin/repos.py:389 #, python-format msgid "Field validation error: %s" msgstr "Błąd walidacji pola: %s" -#: kallithea/controllers/admin/repos.py:390 +#: kallithea/controllers/admin/repos.py:392 #, python-format msgid "An error occurred during creation of field: %r" msgstr "Wystąpił błąd podczas tworzenia pola: %r" -#: kallithea/controllers/admin/repos.py:401 +#: kallithea/controllers/admin/repos.py:403 msgid "An error occurred during removal of field" msgstr "Wystąpił błąd podczas usuwania pola" -#: kallithea/controllers/admin/repos.py:415 +#: kallithea/controllers/admin/repos.py:417 msgid "-- Not a fork --" msgstr "-- Brak rozgałęzienia --" -#: kallithea/controllers/admin/repos.py:447 +#: kallithea/controllers/admin/repos.py:449 msgid "Updated repository visibility in public journal" msgstr "Zaktualizowano widoczność stron w publicznym dzienniku" -#: kallithea/controllers/admin/repos.py:451 +#: kallithea/controllers/admin/repos.py:453 msgid "An error occurred during setting this repository in public journal" msgstr "" "Wystąpił błąd podczas ustawiania tego repozytorium w dzienniku publicznym" -#: kallithea/controllers/admin/repos.py:467 +#: kallithea/controllers/admin/repos.py:469 msgid "Nothing" msgstr "Brak" -#: kallithea/controllers/admin/repos.py:469 +#: kallithea/controllers/admin/repos.py:471 #, python-format msgid "Marked repository %s as fork of %s" msgstr "Oznaczono %s repo jako rozwidlenie %s" -#: kallithea/controllers/admin/repos.py:476 +#: kallithea/controllers/admin/repos.py:478 msgid "An error occurred during this operation" msgstr "Wystąpił błąd podczas tej operacji" -#: kallithea/controllers/admin/repos.py:488 +#: kallithea/controllers/admin/repos.py:490 msgid "Pulled from remote location" msgstr "Pobieranie z lokalizacji zdalnej" -#: kallithea/controllers/admin/repos.py:491 +#: kallithea/controllers/admin/repos.py:493 msgid "An error occurred during pull from remote location" msgstr "Wystąpił błąd podczas pobierania z lokalizacji zdalnej" -#: kallithea/controllers/admin/repos.py:522 +#: kallithea/controllers/admin/repos.py:524 msgid "An error occurred during deletion of repository stats" msgstr "Wystąpił błąd podczas usuwania z repozytorium statystyk" @@ -893,7 +893,8 @@ msgid "" "Unable to activate hgsubversion support. The \"hgsubversion\" library is " "missing" -msgstr "Nie można włączyć obsługi hgsubversion. Brak biblioteki „hgsubversion”" +msgstr "" +"Nie można włączyć obsługi hgsubversion. Brak biblioteki „hgsubversion”" #: kallithea/controllers/admin/settings.py:142 #: kallithea/controllers/admin/settings.py:234 @@ -1053,7 +1054,8 @@ msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -"Wykryto wyciek tokenu CSRF — wszystkie tokeny formularza zostały unieważnione" +"Wykryto wyciek tokenu CSRF — wszystkie tokeny formularza zostały " +"unieważnione" #: kallithea/lib/base.py:580 #, fuzzy @@ -1286,8 +1288,8 @@ #, python-format msgid "Incorrect SSH key - base64 part is not %r as claimed but %r" msgstr "" -"Nieprawidłowy klucz SSH - część kodowana base64 nie jest %r jak podano, ale " -"%r" +"Nieprawidłowy klucz SSH - część kodowana base64 nie jest %r jak podano, " +"ale %r" #: kallithea/lib/utils2.py:253 #, python-format @@ -1370,137 +1372,141 @@ msgid "[Mention]" msgstr "[Wymieniony]" -#: kallithea/model/db.py:1411 +#: kallithea/model/db.py:1412 msgid "top level" msgstr "najwyższy poziom" -#: kallithea/model/db.py:1542 +#: kallithea/model/db.py:1543 msgid "Kallithea Administrator" msgstr "Administrator Kallithea" -#: kallithea/model/db.py:1544 +#: kallithea/model/db.py:1545 msgid "Default user has no access to new repositories" msgstr "Domyślny użytkownik nie ma dostępu do nowych repozytoriów" -#: kallithea/model/db.py:1545 +#: kallithea/model/db.py:1546 msgid "Default user has read access to new repositories" msgstr "Użytkownik domyślny ma dostęp do odczytu nowych repozytoriów" -#: kallithea/model/db.py:1546 +#: kallithea/model/db.py:1547 msgid "Default user has write access to new repositories" msgstr "Użytkownik domyślny ma dostęp do zapisu nowych repozytoriów" -#: kallithea/model/db.py:1547 +#: kallithea/model/db.py:1548 msgid "Default user has admin access to new repositories" -msgstr "Domyślny użytkownik ma dostęp administracyjny do nowych repozytoriów" - -#: kallithea/model/db.py:1549 -msgid "Default user has no access to new repository groups" -msgstr "Domyślny użytkownik nie ma dostępu do nowych grup repozytoriów" +msgstr "" +"Domyślny użytkownik ma dostęp administracyjny do nowych repozytoriów" #: kallithea/model/db.py:1550 -msgid "Default user has read access to new repository groups" -msgstr "Domyślny użytkownik ma dostęp do odczytu do nowych grup repozytoriów" +msgid "Default user has no access to new repository groups" +msgstr "Domyślny użytkownik nie ma dostępu do nowych grup repozytoriów" #: kallithea/model/db.py:1551 +msgid "Default user has read access to new repository groups" +msgstr "" +"Domyślny użytkownik ma dostęp do odczytu do nowych grup repozytoriów" + +#: kallithea/model/db.py:1552 msgid "Default user has write access to new repository groups" msgstr "Domyślny użytkownik ma dostęp do zapisu do nowych grup repozytoriów" -#: kallithea/model/db.py:1552 +#: kallithea/model/db.py:1553 msgid "Default user has admin access to new repository groups" msgstr "" "Domyślny użytkownik ma dostęp administracyjny do nowych grup repozytoriów" -#: kallithea/model/db.py:1554 +#: kallithea/model/db.py:1555 msgid "Default user has no access to new user groups" msgstr "Domyślny użytkownik nie ma dostępu do nowych grup użytkowników" -#: kallithea/model/db.py:1555 +#: kallithea/model/db.py:1556 msgid "Default user has read access to new user groups" -msgstr "Domyślny użytkownik ma dostęp do odczytu do nowych grup użytkowników" - -#: kallithea/model/db.py:1556 +msgstr "" +"Domyślny użytkownik ma dostęp do odczytu do nowych grup użytkowników" + +#: kallithea/model/db.py:1557 msgid "Default user has write access to new user groups" msgstr "Domyślny użytkownik ma dostęp do zapisu do nowych grup użytkowników" -#: kallithea/model/db.py:1557 +#: kallithea/model/db.py:1558 msgid "Default user has admin access to new user groups" msgstr "" "Domyślny użytkownik ma dostęp administracyjny do nowych grup użytkowników" -#: kallithea/model/db.py:1559 +#: kallithea/model/db.py:1560 msgid "Only admins can create repository groups" msgstr "Tylko administratorzy mogą tworzyć grupy repozytoriów" -#: kallithea/model/db.py:1560 +#: kallithea/model/db.py:1561 msgid "Non-admins can create repository groups" msgstr "" "Użytkownicy bez uprawnień administratora mogą tworzyć grupy repozytoriów" -#: kallithea/model/db.py:1562 +#: kallithea/model/db.py:1563 msgid "Only admins can create user groups" msgstr "Tylko administratorzy mogą tworzyć grupy użytkowników" -#: kallithea/model/db.py:1563 +#: kallithea/model/db.py:1564 msgid "Non-admins can create user groups" msgstr "" "Użytkownicy bez uprawnień administratora mogą tworzyć grupy użytkowników" -#: kallithea/model/db.py:1565 +#: kallithea/model/db.py:1566 msgid "Only admins can create top level repositories" msgstr "Tylko administratorzy mogą tworzyć repozytoria najwyższego poziomu" -#: kallithea/model/db.py:1566 +#: kallithea/model/db.py:1567 msgid "Non-admins can create top level repositories" msgstr "" -"Osoby niebędące administratorami mogą tworzyć repozytoria najwyższego poziomu" - -#: kallithea/model/db.py:1568 -msgid "" -"Repository creation enabled with write permission to a repository group" -msgstr "" +"Osoby niebędące administratorami mogą tworzyć repozytoria najwyższego " +"poziomu" #: kallithea/model/db.py:1569 msgid "" +"Repository creation enabled with write permission to a repository group" +msgstr "" + +#: kallithea/model/db.py:1570 +msgid "" "Repository creation disabled with write permission to a repository group" msgstr "" -#: kallithea/model/db.py:1571 +#: kallithea/model/db.py:1572 #, fuzzy msgid "Only admins can fork repositories" msgstr "Tylko admini mogą rozgałęziać repozytoria" -#: kallithea/model/db.py:1572 +#: kallithea/model/db.py:1573 #, fuzzy msgid "Non-admins can fork repositories" msgstr "" "Użytkownicy bez uprawnień administratora mogą rozgałęziać repozytoria" -#: kallithea/model/db.py:1574 +#: kallithea/model/db.py:1575 msgid "Registration disabled" msgstr "Rejestracja wyłączona" -#: kallithea/model/db.py:1575 +#: kallithea/model/db.py:1576 msgid "User registration with manual account activation" msgstr "Rejestracja użytkownika z ręczną aktywacją konta" -#: kallithea/model/db.py:1576 +#: kallithea/model/db.py:1577 msgid "User registration with automatic account activation" msgstr "Rejestracja użytkownika z automatyczną aktywacją konta" -#: kallithea/model/db.py:1992 +#: kallithea/model/db.py:1993 msgid "Not reviewed" msgstr "Brak Korekty" -#: kallithea/model/db.py:1993 +#: kallithea/model/db.py:1994 msgid "Under review" msgstr "Objęty Przeglądem" -#: kallithea/model/db.py:1994 +#: kallithea/model/db.py:1995 msgid "Not approved" msgstr "Niezaakceptowano" -#: kallithea/model/db.py:1995 +#: kallithea/model/db.py:1996 msgid "Approved" msgstr "Zaakceptowano" @@ -1686,8 +1692,8 @@ "The password to your account %s has been changed using password reset " "form." msgstr "" -"Hasło do Twojego konta %s zostało zmienione za pomocą formularza resetowania " -"hasła." +"Hasło do Twojego konta %s zostało zmienione za pomocą formularza " +"resetowania hasła." #: kallithea/model/validators.py:53 kallithea/model/validators.py:54 msgid "Value cannot be an empty list" @@ -1797,8 +1803,8 @@ "Invalid repository URL. It must be a valid http, https, ssh, svn+http or " "svn+https URL" msgstr "" -"Nieprawidłowy adres URL repozytorium. Musi to być prawidłowy adres URL typu " -"http, https, ssh, svn + http lub svn + https" +"Nieprawidłowy adres URL repozytorium. Musi to być prawidłowy adres URL " +"typu http, https, ssh, svn + http lub svn + https" #: kallithea/model/validators.py:427 msgid "Fork has to be the same type as parent" @@ -2033,8 +2039,8 @@ "A password reset link will be sent to the specified email address if it " "is registered in the system." msgstr "" -"Link do zresetowania hasła zostanie wysłany na adres e-mail znajdujący się w " -"systemie." +"Link do zresetowania hasła zostanie wysłany na adres e-mail znajdujący " +"się w systemie." #: kallithea/templates/password_reset_confirmation.html:23 #, python-format @@ -2046,8 +2052,8 @@ "Note that you must use the same browser session for this as the one used " "to request the password reset." msgstr "" -"Zapamiętaj, że należy użyć do tego tej samej sesji przeglądarki, co użyta do " -"żądania zresetowania hasła." +"Zapamiętaj, że należy użyć do tego tej samej sesji przeglądarki, co użyta " +"do żądania zresetowania hasła." #: kallithea/templates/password_reset_confirmation.html:29 msgid "Code you received in the email" @@ -2199,7 +2205,7 @@ #: kallithea/templates/admin/defaults/defaults.html:59 #: kallithea/templates/admin/my_account/my_account_password.html:30 #: kallithea/templates/admin/my_account/my_account_profile.html:47 -#: kallithea/templates/admin/permissions/permissions_globals.html:95 +#: kallithea/templates/admin/permissions/permissions_globals.html:94 #: kallithea/templates/admin/repo_groups/repo_group_add.html:58 #: kallithea/templates/admin/repo_groups/repo_group_edit_perms.html:98 #: kallithea/templates/admin/repo_groups/repo_group_edit_settings.html:27 @@ -2384,7 +2390,7 @@ #: kallithea/templates/admin/my_account/my_account_password.html:31 #: kallithea/templates/admin/my_account/my_account_profile.html:48 #: kallithea/templates/admin/my_account/my_account_ssh_keys.html:66 -#: kallithea/templates/admin/permissions/permissions_globals.html:96 +#: kallithea/templates/admin/permissions/permissions_globals.html:95 #: kallithea/templates/admin/permissions/permissions_ips.html:34 #: kallithea/templates/admin/repo_groups/repo_group_edit_perms.html:99 #: kallithea/templates/admin/repo_groups/repo_group_edit_settings.html:28 @@ -2837,44 +2843,38 @@ "Enable this to allow non-admins to create repositories at the top level." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:57 -msgid "" -"Note: This will also give all users API access to create repositories " -"everywhere. That might change in future versions." -msgstr "" - -#: kallithea/templates/admin/permissions/permissions_globals.html:61 +#: kallithea/templates/admin/permissions/permissions_globals.html:60 msgid "Repository creation with group write access" msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:64 +#: kallithea/templates/admin/permissions/permissions_globals.html:63 msgid "" "With this, write permission to a repository group allows creating " "repositories inside that group. Without this, group write permissions " "mean nothing." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:68 +#: kallithea/templates/admin/permissions/permissions_globals.html:67 msgid "User group creation" msgstr "Tworzenie grupy użytkowników" -#: kallithea/templates/admin/permissions/permissions_globals.html:71 +#: kallithea/templates/admin/permissions/permissions_globals.html:70 msgid "Enable this to allow non-admins to create user groups." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:75 +#: kallithea/templates/admin/permissions/permissions_globals.html:74 msgid "Repository forking" msgstr "Rozwidlanie repozytorium" -#: kallithea/templates/admin/permissions/permissions_globals.html:78 +#: kallithea/templates/admin/permissions/permissions_globals.html:77 msgid "Enable this to allow non-admins to fork repositories." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:82 +#: kallithea/templates/admin/permissions/permissions_globals.html:81 msgid "Registration" msgstr "Rejestracja" -#: kallithea/templates/admin/permissions/permissions_globals.html:88 +#: kallithea/templates/admin/permissions/permissions_globals.html:87 msgid "External auth account activation" msgstr "Autoryzacja aktywacji zewnętrznego konta" @@ -3553,7 +3553,7 @@ #: kallithea/templates/admin/settings/settings_search.html:12 msgid "" -"This option completely reindexeses all of the repositories for proper " +"This option completely reindexes all of the repositories for proper " "fulltext search capabilities." msgstr "" @@ -4386,6 +4386,13 @@ msgid "Changeset status: %s by %s" msgstr "Status grupy zmian: %s przez %s" +#: kallithea/templates/changelog/changelog_table.html:58 +#: kallithea/templates/pullrequests/pullrequest_show.html:170 +#, fuzzy +#| msgid "Commit messages" +msgid "(No commit message)" +msgstr "Komunikaty" + #: kallithea/templates/changelog/changelog_table.html:60 msgid "Expand commit message" msgstr "" diff -r 0c5a669e44df -r 75321e00238c kallithea/i18n/pt/LC_MESSAGES/kallithea.po --- a/kallithea/i18n/pt/LC_MESSAGES/kallithea.po Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/i18n/pt/LC_MESSAGES/kallithea.po Wed May 12 01:33:29 2021 +0200 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.6.1\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2020-06-18 16:35+0200\n" +"POT-Creation-Date: 2021-05-12 01:32+0200\n" "PO-Revision-Date: 2021-05-10 09:32+0000\n" "Last-Translator: ssantos \n" "Language-Team: none\n" @@ -685,11 +685,11 @@ msgid "Allowed with automatic account activation" msgstr "Permitido com ativação automática de conta" -#: kallithea/controllers/admin/permissions.py:85 kallithea/model/db.py:1578 +#: kallithea/controllers/admin/permissions.py:85 kallithea/model/db.py:1579 msgid "Manual activation of external account" msgstr "Ativação manual de conta externa" -#: kallithea/controllers/admin/permissions.py:86 kallithea/model/db.py:1579 +#: kallithea/controllers/admin/permissions.py:86 kallithea/model/db.py:1580 msgid "Automatic activation of external account" msgstr "Ativação automática de conta externa" @@ -721,48 +721,48 @@ msgid "Created repository group %s" msgstr "Grupo de repositórios %s criado" -#: kallithea/controllers/admin/repo_groups.py:219 +#: kallithea/controllers/admin/repo_groups.py:225 #, python-format msgid "Updated repository group %s" msgstr "Grupo de repositórios %s atualizado" -#: kallithea/controllers/admin/repo_groups.py:235 +#: kallithea/controllers/admin/repo_groups.py:241 #, python-format msgid "Error occurred during update of repository group %s" msgstr "Ocorreu um erro durante a atualização do grupo de repositórios %s" -#: kallithea/controllers/admin/repo_groups.py:245 +#: kallithea/controllers/admin/repo_groups.py:251 #, python-format msgid "This group contains %s repositories and cannot be deleted" msgstr "Esse grupo contém %s repositórios e não pode ser apagado" -#: kallithea/controllers/admin/repo_groups.py:252 +#: kallithea/controllers/admin/repo_groups.py:258 #, python-format msgid "This group contains %s subgroups and cannot be deleted" msgstr "Este grupo contém %s subgrupos e não pode ser apagado" -#: kallithea/controllers/admin/repo_groups.py:258 +#: kallithea/controllers/admin/repo_groups.py:264 #, python-format msgid "Removed repository group %s" msgstr "Grupo de repositórios %s apagado" -#: kallithea/controllers/admin/repo_groups.py:263 +#: kallithea/controllers/admin/repo_groups.py:269 #, python-format msgid "Error occurred during deletion of repository group %s" msgstr "Ocorreu um erro durante a exclusão do grupo de repositórios %s" -#: kallithea/controllers/admin/repo_groups.py:347 -#: kallithea/controllers/admin/repo_groups.py:377 +#: kallithea/controllers/admin/repo_groups.py:353 +#: kallithea/controllers/admin/repo_groups.py:383 #: kallithea/controllers/admin/user_groups.py:290 msgid "Cannot revoke permission for yourself as admin" msgstr "Não pode revocar sua própria permissão de administrador" -#: kallithea/controllers/admin/repo_groups.py:362 +#: kallithea/controllers/admin/repo_groups.py:368 msgid "Repository group permissions updated" msgstr "Permissões atualizadas do Grupo de Repositórios" -#: kallithea/controllers/admin/repo_groups.py:394 -#: kallithea/controllers/admin/repos.py:357 +#: kallithea/controllers/admin/repo_groups.py:400 +#: kallithea/controllers/admin/repos.py:359 #: kallithea/controllers/admin/user_groups.py:302 msgid "An error occurred during revoking of permission" msgstr "Ocorreu um erro durante a revocação das permissões" @@ -772,108 +772,108 @@ msgid "Error creating repository %s" msgstr "Erro ao criar repositório %s" -#: kallithea/controllers/admin/repos.py:193 +#: kallithea/controllers/admin/repos.py:195 #, python-format msgid "Created repository %s from %s" msgstr "Repositório %s criado de %s" -#: kallithea/controllers/admin/repos.py:202 +#: kallithea/controllers/admin/repos.py:204 #, python-format msgid "Forked repository %s as %s" msgstr "Repositório %s bifurcado como %s" -#: kallithea/controllers/admin/repos.py:205 +#: kallithea/controllers/admin/repos.py:207 #, python-format msgid "Created repository %s" msgstr "Repositório %s criado" -#: kallithea/controllers/admin/repos.py:234 +#: kallithea/controllers/admin/repos.py:236 #, python-format msgid "Repository %s updated successfully" msgstr "Repositório %s atualizado com sucesso" -#: kallithea/controllers/admin/repos.py:254 +#: kallithea/controllers/admin/repos.py:256 #, python-format msgid "Error occurred during update of repository %s" msgstr "Ocorreu um erro durante a atualização do repositório %s" -#: kallithea/controllers/admin/repos.py:272 +#: kallithea/controllers/admin/repos.py:274 #, python-format msgid "Detached %s forks" msgstr "" -#: kallithea/controllers/admin/repos.py:275 +#: kallithea/controllers/admin/repos.py:277 #, python-format msgid "Deleted %s forks" msgstr "%s bifurcações apagadas" -#: kallithea/controllers/admin/repos.py:280 +#: kallithea/controllers/admin/repos.py:282 #, python-format msgid "Deleted repository %s" msgstr "Repositório %s apagado" -#: kallithea/controllers/admin/repos.py:283 +#: kallithea/controllers/admin/repos.py:285 #, python-format msgid "Cannot delete repository %s which still has forks" msgstr "" -#: kallithea/controllers/admin/repos.py:288 +#: kallithea/controllers/admin/repos.py:290 #, python-format msgid "An error occurred during deletion of %s" msgstr "Ocorreu um erro durante a exclusão de %s" -#: kallithea/controllers/admin/repos.py:328 +#: kallithea/controllers/admin/repos.py:330 msgid "Repository permissions updated" msgstr "Permissões do repositório atualizadas" -#: kallithea/controllers/admin/repos.py:387 +#: kallithea/controllers/admin/repos.py:389 #, python-format msgid "Field validation error: %s" msgstr "" -#: kallithea/controllers/admin/repos.py:390 +#: kallithea/controllers/admin/repos.py:392 #, python-format msgid "An error occurred during creation of field: %r" msgstr "" -#: kallithea/controllers/admin/repos.py:401 +#: kallithea/controllers/admin/repos.py:403 msgid "An error occurred during removal of field" msgstr "Ocorreu um erro durante a remoção do campo" -#: kallithea/controllers/admin/repos.py:415 +#: kallithea/controllers/admin/repos.py:417 msgid "-- Not a fork --" msgstr "" -#: kallithea/controllers/admin/repos.py:447 +#: kallithea/controllers/admin/repos.py:449 msgid "Updated repository visibility in public journal" msgstr "Atualizada a visibilidade do repositório no diário público" -#: kallithea/controllers/admin/repos.py:451 +#: kallithea/controllers/admin/repos.py:453 msgid "An error occurred during setting this repository in public journal" msgstr "Ocorreu um erro ao ajustar esse repositório no diário público" -#: kallithea/controllers/admin/repos.py:467 +#: kallithea/controllers/admin/repos.py:469 msgid "Nothing" msgstr "Nada" -#: kallithea/controllers/admin/repos.py:469 +#: kallithea/controllers/admin/repos.py:471 #, python-format msgid "Marked repository %s as fork of %s" msgstr "Marcado repositório %s como bifurcação de %s" -#: kallithea/controllers/admin/repos.py:476 +#: kallithea/controllers/admin/repos.py:478 msgid "An error occurred during this operation" msgstr "Ocorreu um erro durante essa operação" -#: kallithea/controllers/admin/repos.py:488 +#: kallithea/controllers/admin/repos.py:490 msgid "Pulled from remote location" msgstr "Realizado pull de localização remota" -#: kallithea/controllers/admin/repos.py:491 +#: kallithea/controllers/admin/repos.py:493 msgid "An error occurred during pull from remote location" msgstr "Ocorreu um erro ao realizar pull de localização remota" -#: kallithea/controllers/admin/repos.py:522 +#: kallithea/controllers/admin/repos.py:524 msgid "An error occurred during deletion of repository stats" msgstr "Ocorreu um erro ao apagar as estatísticas de repositório" @@ -1348,129 +1348,129 @@ msgid "[Mention]" msgstr "[Menção]" -#: kallithea/model/db.py:1411 +#: kallithea/model/db.py:1412 msgid "top level" msgstr "nível superior" -#: kallithea/model/db.py:1542 +#: kallithea/model/db.py:1543 msgid "Kallithea Administrator" msgstr "Administrador do Kallithea" -#: kallithea/model/db.py:1544 +#: kallithea/model/db.py:1545 msgid "Default user has no access to new repositories" msgstr "" -#: kallithea/model/db.py:1545 -msgid "Default user has read access to new repositories" -msgstr "" - #: kallithea/model/db.py:1546 -msgid "Default user has write access to new repositories" +msgid "Default user has read access to new repositories" msgstr "" #: kallithea/model/db.py:1547 +msgid "Default user has write access to new repositories" +msgstr "" + +#: kallithea/model/db.py:1548 msgid "Default user has admin access to new repositories" msgstr "" -#: kallithea/model/db.py:1549 -msgid "Default user has no access to new repository groups" -msgstr "" - #: kallithea/model/db.py:1550 -msgid "Default user has read access to new repository groups" +msgid "Default user has no access to new repository groups" msgstr "" #: kallithea/model/db.py:1551 -msgid "Default user has write access to new repository groups" +msgid "Default user has read access to new repository groups" msgstr "" #: kallithea/model/db.py:1552 +msgid "Default user has write access to new repository groups" +msgstr "" + +#: kallithea/model/db.py:1553 msgid "Default user has admin access to new repository groups" msgstr "" -#: kallithea/model/db.py:1554 -msgid "Default user has no access to new user groups" -msgstr "" - #: kallithea/model/db.py:1555 -msgid "Default user has read access to new user groups" +msgid "Default user has no access to new user groups" msgstr "" #: kallithea/model/db.py:1556 -msgid "Default user has write access to new user groups" +msgid "Default user has read access to new user groups" msgstr "" #: kallithea/model/db.py:1557 +msgid "Default user has write access to new user groups" +msgstr "" + +#: kallithea/model/db.py:1558 msgid "Default user has admin access to new user groups" msgstr "" -#: kallithea/model/db.py:1559 -msgid "Only admins can create repository groups" -msgstr "" - #: kallithea/model/db.py:1560 +msgid "Only admins can create repository groups" +msgstr "" + +#: kallithea/model/db.py:1561 msgid "Non-admins can create repository groups" msgstr "" -#: kallithea/model/db.py:1562 -msgid "Only admins can create user groups" -msgstr "" - #: kallithea/model/db.py:1563 +msgid "Only admins can create user groups" +msgstr "" + +#: kallithea/model/db.py:1564 msgid "Non-admins can create user groups" msgstr "" -#: kallithea/model/db.py:1565 -msgid "Only admins can create top level repositories" -msgstr "" - #: kallithea/model/db.py:1566 +msgid "Only admins can create top level repositories" +msgstr "" + +#: kallithea/model/db.py:1567 msgid "Non-admins can create top level repositories" msgstr "" -#: kallithea/model/db.py:1568 -msgid "" -"Repository creation enabled with write permission to a repository group" -msgstr "" - #: kallithea/model/db.py:1569 msgid "" +"Repository creation enabled with write permission to a repository group" +msgstr "" + +#: kallithea/model/db.py:1570 +msgid "" "Repository creation disabled with write permission to a repository group" msgstr "" -#: kallithea/model/db.py:1571 -msgid "Only admins can fork repositories" -msgstr "" - #: kallithea/model/db.py:1572 +msgid "Only admins can fork repositories" +msgstr "" + +#: kallithea/model/db.py:1573 msgid "Non-admins can fork repositories" msgstr "" -#: kallithea/model/db.py:1574 -msgid "Registration disabled" -msgstr "Registo desativado" - #: kallithea/model/db.py:1575 -msgid "User registration with manual account activation" -msgstr "" +msgid "Registration disabled" +msgstr "Registo desativado" #: kallithea/model/db.py:1576 +msgid "User registration with manual account activation" +msgstr "" + +#: kallithea/model/db.py:1577 msgid "User registration with automatic account activation" msgstr "" -#: kallithea/model/db.py:1992 -msgid "Not reviewed" -msgstr "" - #: kallithea/model/db.py:1993 -msgid "Under review" +msgid "Not reviewed" msgstr "" #: kallithea/model/db.py:1994 -msgid "Not approved" +msgid "Under review" msgstr "" #: kallithea/model/db.py:1995 +msgid "Not approved" +msgstr "" + +#: kallithea/model/db.py:1996 msgid "Approved" msgstr "Aprovado" @@ -2137,7 +2137,7 @@ #: kallithea/templates/admin/defaults/defaults.html:59 #: kallithea/templates/admin/my_account/my_account_password.html:30 #: kallithea/templates/admin/my_account/my_account_profile.html:47 -#: kallithea/templates/admin/permissions/permissions_globals.html:95 +#: kallithea/templates/admin/permissions/permissions_globals.html:94 #: kallithea/templates/admin/repo_groups/repo_group_add.html:58 #: kallithea/templates/admin/repo_groups/repo_group_edit_perms.html:98 #: kallithea/templates/admin/repo_groups/repo_group_edit_settings.html:27 @@ -2322,7 +2322,7 @@ #: kallithea/templates/admin/my_account/my_account_password.html:31 #: kallithea/templates/admin/my_account/my_account_profile.html:48 #: kallithea/templates/admin/my_account/my_account_ssh_keys.html:66 -#: kallithea/templates/admin/permissions/permissions_globals.html:96 +#: kallithea/templates/admin/permissions/permissions_globals.html:95 #: kallithea/templates/admin/permissions/permissions_ips.html:34 #: kallithea/templates/admin/repo_groups/repo_group_edit_perms.html:99 #: kallithea/templates/admin/repo_groups/repo_group_edit_settings.html:28 @@ -2759,44 +2759,38 @@ "Enable this to allow non-admins to create repositories at the top level." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:57 -msgid "" -"Note: This will also give all users API access to create repositories " -"everywhere. That might change in future versions." -msgstr "" - -#: kallithea/templates/admin/permissions/permissions_globals.html:61 +#: kallithea/templates/admin/permissions/permissions_globals.html:60 msgid "Repository creation with group write access" msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:64 +#: kallithea/templates/admin/permissions/permissions_globals.html:63 msgid "" "With this, write permission to a repository group allows creating " "repositories inside that group. Without this, group write permissions " "mean nothing." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:68 +#: kallithea/templates/admin/permissions/permissions_globals.html:67 msgid "User group creation" msgstr "Criação de grupo de utilizadores" -#: kallithea/templates/admin/permissions/permissions_globals.html:71 +#: kallithea/templates/admin/permissions/permissions_globals.html:70 msgid "Enable this to allow non-admins to create user groups." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:75 +#: kallithea/templates/admin/permissions/permissions_globals.html:74 msgid "Repository forking" msgstr "Bifurcação de repositório" -#: kallithea/templates/admin/permissions/permissions_globals.html:78 +#: kallithea/templates/admin/permissions/permissions_globals.html:77 msgid "Enable this to allow non-admins to fork repositories." msgstr "" -#: kallithea/templates/admin/permissions/permissions_globals.html:82 +#: kallithea/templates/admin/permissions/permissions_globals.html:81 msgid "Registration" msgstr "Registo" -#: kallithea/templates/admin/permissions/permissions_globals.html:88 +#: kallithea/templates/admin/permissions/permissions_globals.html:87 msgid "External auth account activation" msgstr "Ativação de autenticação de conta externa" @@ -3430,7 +3424,7 @@ #: kallithea/templates/admin/settings/settings_search.html:12 msgid "" -"This option completely reindexeses all of the repositories for proper " +"This option completely reindexes all of the repositories for proper " "fulltext search capabilities." msgstr "" @@ -4223,6 +4217,13 @@ msgid "Changeset status: %s by %s" msgstr "" +#: kallithea/templates/changelog/changelog_table.html:58 +#: kallithea/templates/pullrequests/pullrequest_show.html:170 +#, fuzzy +#| msgid "Commit messages" +msgid "(No commit message)" +msgstr "Mensagens de commit" + #: kallithea/templates/changelog/changelog_table.html:60 msgid "Expand commit message" msgstr "" diff -r 0c5a669e44df -r 75321e00238c kallithea/i18n/pt_BR/LC_MESSAGES/kallithea.po --- a/kallithea/i18n/pt_BR/LC_MESSAGES/kallithea.po Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/i18n/pt_BR/LC_MESSAGES/kallithea.po Wed May 12 01:33:29 2021 +0200 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2020-10-05 00:01+0200\n" +"POT-Creation-Date: 2021-05-12 01:32+0200\n" "PO-Revision-Date: 2014-02-13 14:34+0000\n" "Last-Translator: Marcin Kuźmiński \n" "Language-Team: Portuguese (Brazil) \n" "Language-Team: Russian \n" "Language-Team: Slovak \n" "Language-Team: Turkish \n" "Language-Team: Ukrainian \n" "Language-Team: Chinese (Simplified) \n" "Language-Team: Chinese (Traditional) )|(\t)|(\r)|(?<=.)( \n| $)') +_escape_re = re.compile(r'(&)|(<)|(>)|(\t)(\n|$)?|(\r)|(?<=.)( \n| $)') def _escaper(string): @@ -470,10 +470,12 @@ if groups[2]: return '>' if groups[3]: + if groups[4] is not None: # end of line + return '\t' return '\t' - if groups[4]: + if groups[5]: return '' - if groups[5]: + if groups[6]: return ' ' assert False diff -r 0c5a669e44df -r 75321e00238c kallithea/lib/middleware/pygrack.py --- a/kallithea/lib/middleware/pygrack.py Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/lib/middleware/pygrack.py Wed May 12 01:33:29 2021 +0200 @@ -125,7 +125,7 @@ log.error(traceback.format_exc()) raise exc.HTTPExpectationFailed() resp = Response() - resp.content_type = 'application/x-%s-advertisement' % str(git_command) + resp.content_type = 'application/x-%s-advertisement' % git_command resp.charset = None resp.app_iter = out return resp @@ -175,7 +175,7 @@ update_server_info(repo._repo) resp = Response() - resp.content_type = 'application/x-%s-result' % git_command.encode('utf-8') + resp.content_type = 'application/x-%s-result' % git_command resp.charset = None resp.app_iter = out return resp diff -r 0c5a669e44df -r 75321e00238c kallithea/lib/paster_commands/template.ini.mako --- a/kallithea/lib/paster_commands/template.ini.mako Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/lib/paster_commands/template.ini.mako Wed May 12 01:33:29 2021 +0200 @@ -334,7 +334,7 @@ <%text>## Example: use the message queue on the local virtual host 'kallitheavhost' as the RabbitMQ user 'kallithea': celery.broker_url = amqp://kallithea:thepassword@localhost:5672/kallitheavhost -celery.result.backend = db+sqlite:///celery-results.db +celery.result_backend = db+sqlite:///celery-results.db #celery.amqp.task.result.expires = 18000 diff -r 0c5a669e44df -r 75321e00238c kallithea/lib/utils.py --- a/kallithea/lib/utils.py Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/lib/utils.py Wed May 12 01:33:29 2021 +0200 @@ -349,7 +349,7 @@ if repo_path is not None: # Note: MercurialRepository / mercurial.localrepo.instance will do this too, so it will always be possible to override db settings or what is hardcoded above - baseui.readconfig(repo_path) + baseui.readconfig(safe_bytes(os.path.join(repo_path, '.hg', 'hgrc'))) assert baseui.plain() # set by hgcompat.monkey_do (invoked from import of vcs.backends.hg) to minimize potential impact of loading config files return baseui diff -r 0c5a669e44df -r 75321e00238c kallithea/lib/vcs/backends/git/repository.py --- a/kallithea/lib/vcs/backends/git/repository.py Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/lib/vcs/backends/git/repository.py Wed May 12 01:33:29 2021 +0200 @@ -159,14 +159,26 @@ when the return code is non 200 """ # check first if it's not an local url - if os.path.isdir(url) or url.startswith('file:'): + if os.path.isabs(url) and os.path.isdir(url): return True if url.startswith('git://'): + try: + _git_colon, _empty, _host, path = url.split('/', 3) + except ValueError: + raise urllib.error.URLError("Invalid URL: %r" % url) + # Mitigate problems elsewhere with incorrect handling of encoded paths. + # Don't trust urllib.parse.unquote but be prepared for more flexible implementations elsewhere. + # Space is the only allowed whitespace character - directly or % encoded. No other % or \ is allowed. + for c in path.replace('%20', ' '): + if c in '%\\': + raise urllib.error.URLError("Invalid escape character in path: '%s'" % c) + if c.isspace() and c != ' ': + raise urllib.error.URLError("Invalid whitespace character in path: %r" % c) return True - if '+' in url[:url.find('://')]: - url = url[url.find('+') + 1:] + if not url.startswith('http://') and not url.startswith('https://'): + raise urllib.error.URLError("Unsupported protocol in URL %s" % url) url_obj = mercurial.util.url(safe_bytes(url)) test_uri, handlers = get_urllib_request_handlers(url_obj) diff -r 0c5a669e44df -r 75321e00238c kallithea/model/db.py --- a/kallithea/model/db.py Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/model/db.py Wed May 12 01:33:29 2021 +0200 @@ -1407,9 +1407,10 @@ def _generate_choice(cls, repo_group): """Return tuple with group_id and name as html literal""" from webhelpers2.html import literal + import kallithea.lib.helpers as h if repo_group is None: return (-1, '-- %s --' % _('top level')) - return repo_group.group_id, literal(cls.SEP.join(repo_group.full_path_splitted)) + return repo_group.group_id, literal(cls.SEP.join(h.html_escape(x) for x in repo_group.full_path_splitted)) @classmethod def groups_choices(cls, groups): diff -r 0c5a669e44df -r 75321e00238c kallithea/model/repo.py --- a/kallithea/model/repo.py Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/model/repo.py Wed May 12 01:33:29 2021 +0200 @@ -168,18 +168,18 @@ for gr in repo_groups_list or []: repos_data.append(dict( - raw_name='\0' + gr.name, # sort before repositories - just_name=gr.name, + raw_name='\0' + h.html_escape(gr.name), # sort before repositories + just_name=h.html_escape(gr.name), name=_render('group_name_html', group_name=gr.group_name, name=gr.name), - desc=gr.group_description)) + desc=desc(gr.group_description))) for repo in repos_list: if not HasRepoPermissionLevel('read')(repo.repo_name, 'get_repos_as_dict check'): continue cs_cache = repo.changeset_cache row = { - "raw_name": repo.repo_name, - "just_name": repo.just_name, + "raw_name": h.html_escape(repo.repo_name), + "just_name": h.html_escape(repo.just_name), "name": repo_lnk(repo.repo_name, repo.repo_type, repo.repo_state, repo.private, repo.fork), "following": following( diff -r 0c5a669e44df -r 75321e00238c kallithea/templates/about.html --- a/kallithea/templates/about.html Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/templates/about.html Wed May 12 01:33:29 2021 +0200 @@ -31,6 +31,7 @@
  • Copyright © 2017–2020, Allan Nordhøy
  • Copyright © 2017, 2020, Anton Schur
  • Copyright © 2018–2020, ssantos
  • +
  • Copyright © 2019–2020, Manuel Jacob
  • Copyright © 2019–2020, Private
  • Copyright © 2020, David Ignjić
  • Copyright © 2020, Dennis Fink
  • @@ -44,7 +45,6 @@
  • Copyright © 2019, Elizabeth Sherrock
  • Copyright © 2019, Hüseyin Tunç
  • Copyright © 2019, leela
  • -
  • Copyright © 2019, Manuel Jacob
  • Copyright © 2019, Mateusz Mendel
  • Copyright © 2019, Nathan
  • Copyright © 2019, Oleksandr Shtalinberg
  • diff -r 0c5a669e44df -r 75321e00238c kallithea/templates/admin/permissions/permissions_globals.html --- a/kallithea/templates/admin/permissions/permissions_globals.html Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/templates/admin/permissions/permissions_globals.html Wed May 12 01:33:29 2021 +0200 @@ -54,7 +54,6 @@
    ${h.select('default_repo_create','',c.repo_create_choices,class_='form-control')} ${_('Enable this to allow non-admins to create repositories at the top level.')} - ${_('Note: This will also give all users API access to create repositories everywhere. That might change in future versions.')}
    diff -r 0c5a669e44df -r 75321e00238c kallithea/templates/admin/repo_groups/repo_group_add.html --- a/kallithea/templates/admin/repo_groups/repo_group_add.html Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/templates/admin/repo_groups/repo_group_add.html Wed May 12 01:33:29 2021 +0200 @@ -41,7 +41,7 @@
    - ${h.select('parent_group_id',request.GET.get('parent_group'),c.repo_groups,class_='form-control')} + ${h.select('parent_group_id',None,c.repo_groups,class_='form-control')}
    diff -r 0c5a669e44df -r 75321e00238c kallithea/templates/admin/repos/repo_add_base.html --- a/kallithea/templates/admin/repos/repo_add_base.html Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/templates/admin/repos/repo_add_base.html Wed May 12 01:33:29 2021 +0200 @@ -27,7 +27,7 @@
    - ${h.select('repo_group',request.GET.get('parent_group'),c.repo_groups,class_='form-control')} + ${h.select('repo_group',None,c.repo_groups,class_='form-control')} ${_('Optionally select a group to put this repository into.')}
    diff -r 0c5a669e44df -r 75321e00238c kallithea/templates/changelog/changelog_table.html --- a/kallithea/templates/changelog/changelog_table.html Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/templates/changelog/changelog_table.html Wed May 12 01:33:29 2021 +0200 @@ -55,7 +55,7 @@
    ${h.age(cs.date,True)}
    - <% message_lines = cs.message.splitlines() %> + <% message_lines = cs.message.strip().splitlines() or [_("(No commit message)")] %> %if len(message_lines) > 1: diff -r 0c5a669e44df -r 75321e00238c kallithea/templates/pullrequests/pullrequest_show.html --- a/kallithea/templates/pullrequests/pullrequest_show.html Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/templates/pullrequests/pullrequest_show.html Wed May 12 01:33:29 2021 +0200 @@ -167,7 +167,7 @@ %endfor
    -
    ${h.urlify_text(cs.message.splitlines()[0], c.repo_name)}
    +
    ${h.urlify_text(cs.message.strip().split('\n')[0] or _("(No commit message)"), c.repo_name)}
    %endif diff -r 0c5a669e44df -r 75321e00238c kallithea/tests/api/api_base.py --- a/kallithea/tests/api/api_base.py Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/tests/api/api_base.py Wed May 12 01:33:29 2021 +0200 @@ -916,20 +916,11 @@ ) response = api_call(self, params) - # Current result when API access control is different from Web: - ret = { - 'msg': 'Created new repository `%s`' % repo_name, - 'success': True, - 'task': None, - } - expected = ret - self._compare_ok(id_, expected, given=response.body) + # API access control match Web access control: + expected = 'no permission to create repo in test_repo_group/api-repo-repo' + self._compare_error(id_, expected, given=response.body) + fixture.destroy_repo(repo_name) - - # Expected and arguably more correct result: - #expected = 'failed to create repository `%s`' % repo_name - #self._compare_error(id_, expected, given=response.body) - fixture.destroy_repo_group(repo_group_name) def test_api_create_repo_unknown_owner(self): @@ -1153,7 +1144,7 @@ finally: fixture.destroy_repo(repo_name) - def test_api_update_repo_regular_user_change_repo_name(self): + def test_api_update_repo_regular_user_change_top_level_repo_name(self): repo_name = 'admin_owned' new_repo_name = 'new_repo_name' fixture.create_repo(repo_name, repo_type=self.REPO_TYPE) @@ -1167,7 +1158,7 @@ repoid=repo_name, **updates) response = api_call(self, params) try: - expected = 'no permission to create (or move) repositories' + expected = 'no permission to create (or move) top level repositories' self._compare_error(id_, expected, given=response.body) finally: fixture.destroy_repo(repo_name) @@ -1298,6 +1289,9 @@ '%s/api-repo-fork' % TEST_REPO_GROUP, ]) def test_api_fork_repo_non_admin(self, fork_name): + RepoGroupModel().grant_user_permission(TEST_REPO_GROUP, + self.TEST_USER_LOGIN, + 'group.write') id_, params = _build_data(self.apikey_regular, 'fork_repo', repoid=self.REPO, fork_name=fork_name, @@ -1364,7 +1358,7 @@ fork_name=fork_name, ) response = api_call(self, params) - expected = 'no permission to create repositories' + expected = 'no permission to create top level repo' self._compare_error(id_, expected, given=response.body) fixture.destroy_repo(fork_name) diff -r 0c5a669e44df -r 75321e00238c kallithea/tests/models/test_diff_parsers.py --- a/kallithea/tests/models/test_diff_parsers.py Mon Dec 21 01:13:25 2020 +0100 +++ b/kallithea/tests/models/test_diff_parsers.py Wed May 12 01:33:29 2021 +0200 @@ -297,13 +297,13 @@ assert s == r''' context ... ... '@@ -51,6 +51,13 @@\n' unmod 51 51 '\tbegin();\n' -unmod 52 52 '\t\n' +unmod 52 52 '\t' add 53 '\tint foo;\n' add 54 '\tint bar; \n' add 55 '\tint baz;\t\n' add 56 '\tint space; ' -add 57 '\tint tab;\t\n' -add 58 '\t\n' +add 57 '\tint tab;\t' +add 58 '\t' unmod 59 53 ' ' del 54 '\t#define MAX_STEPS (48)\n' add 60 '\t\n'