changeset 7951:a62acba8124e default-i18n

Merge default kallithea/i18n/ is kept at previous default-i18n content ... but is updated with a new extract_messages and msgmerge.
author Mads Kiilerich <mads@kiilerich.com>
date Thu, 14 Nov 2019 23:36:16 +0100
parents 807bb183e4d1 (current diff) eee49a119592 (diff)
children ae08e366f3f2 0cb9aae7fe42
files kallithea/i18n/be/LC_MESSAGES/kallithea.po kallithea/i18n/bg/LC_MESSAGES/kallithea.po kallithea/i18n/cs/LC_MESSAGES/kallithea.po kallithea/i18n/da/LC_MESSAGES/kallithea.po kallithea/i18n/de/LC_MESSAGES/kallithea.po kallithea/i18n/el/LC_MESSAGES/kallithea.po kallithea/i18n/es/LC_MESSAGES/kallithea.po kallithea/i18n/fr/LC_MESSAGES/kallithea.po kallithea/i18n/hu/LC_MESSAGES/kallithea.po kallithea/i18n/ja/LC_MESSAGES/kallithea.po kallithea/i18n/kallithea.pot kallithea/i18n/nb_NO/LC_MESSAGES/kallithea.po kallithea/i18n/nl_BE/LC_MESSAGES/kallithea.po kallithea/i18n/pl/LC_MESSAGES/kallithea.po kallithea/i18n/pt_BR/LC_MESSAGES/kallithea.po kallithea/i18n/ru/LC_MESSAGES/kallithea.po kallithea/i18n/sk/LC_MESSAGES/kallithea.po kallithea/i18n/tr/LC_MESSAGES/kallithea.po kallithea/i18n/uk/LC_MESSAGES/kallithea.po kallithea/i18n/zh_CN/LC_MESSAGES/kallithea.po kallithea/i18n/zh_TW/LC_MESSAGES/kallithea.po
diffstat 50 files changed, 3552 insertions(+), 1947 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Sun Nov 03 15:35:08 2019 +0100
+++ b/.hgignore	Thu Nov 14 23:36:16 2019 +0100
@@ -6,6 +6,8 @@
 *.egg-info
 *.egg
 *.mo
+*.orig
+*.rej
 *.bak
 .eggs/
 tarballcache/
--- a/dev_requirements.txt	Sun Nov 03 15:35:08 2019 +0100
+++ b/dev_requirements.txt	Thu Nov 14 23:36:16 2019 +0100
@@ -1,9 +1,8 @@
-pytest >= 3.3.0, < 4.7
-pytest-runner < 5.2
-pytest-sugar >= 0.7.0, < 0.10
-pytest-benchmark < 3.3
-pytest-localserver < 0.6
-mock < 3.1
-Sphinx < 1.9
-WebTest < 2.1
+pytest >= 4.6.6, < 4.7
+pytest-sugar >= 0.9.2, < 0.10
+pytest-benchmark >= 3.2.2, < 3.3
+pytest-localserver >= 0.5.0, < 0.6
+mock >= 3.0.0, < 3.1
+Sphinx >= 1.8.0, < 1.9
+WebTest >= 2.0.3, < 2.1
 isort == 4.3.21
--- a/docs/api/api.rst	Sun Nov 03 15:35:08 2019 +0100
+++ b/docs/api/api.rst	Thu Nov 14 23:36:16 2019 +0100
@@ -32,7 +32,7 @@
 For example, to pull to a local "CPython" mirror using curl::
 
     curl https://kallithea.example.com/_admin/api -X POST -H 'content-type:text/plain' \
-        --data-binary '{"id":1,"api_key":"xe7cdb2v278e4evbdf5vs04v832v0efvcbcve4a3","method":"pull","args":{"repo":"CPython"}}'
+        --data-binary '{"id":1,"api_key":"xe7cdb2v278e4evbdf5vs04v832v0efvcbcve4a3","method":"pull","args":{"repoid":"CPython"}}'
 
 In general, provide
  - *id*, a value of any type, can be used to match the response with the request that it is replying to.
--- a/docs/setup.rst	Sun Nov 03 15:35:08 2019 +0100
+++ b/docs/setup.rst	Thu Nov 14 23:36:16 2019 +0100
@@ -118,7 +118,6 @@
   stateful stream, and will in some cases be faster than HTTP/HTTPS with several
   stateless round-trips.
 
-
 .. note:: At this moment, repository access via SSH has been tested on Unix
     only. Windows users that care about SSH are invited to test it and report
     problems, ideally contributing patches that solve these problems.
--- a/kallithea/bin/ldap_sync.py	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/bin/ldap_sync.py	Thu Nov 14 23:36:16 2019 +0100
@@ -153,7 +153,7 @@
         self.client.simple_bind(user, key)
         self.base_dn = base_dn
 
-    def __del__(self):
+    def close(self):
         self.client.unbind()
 
     def get_groups(self):
@@ -241,6 +241,9 @@
                 # TODO: handle somehow maybe..
                 pass
 
+    def close(self):
+        self.ldap_client.close()
+
 
 if __name__ == '__main__':
     sync = LdapSync()
@@ -253,3 +256,5 @@
         # we need to find a way to recognize the right exception (we always get
         # ResponseError with no error code so maybe by return msg (?)
         sync.update_memberships_from_ldap(gr)
+
+    sync.close()
--- a/kallithea/config/app_cfg.py	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/config/app_cfg.py	Thu Nov 14 23:36:16 2019 +0100
@@ -39,6 +39,7 @@
 from kallithea.lib.middleware.permanent_repo_url import PermanentRepoUrl
 from kallithea.lib.middleware.simplegit import SimpleGit
 from kallithea.lib.middleware.simplehg import SimpleHg
+from kallithea.lib.middleware.wrapper import RequestWrapper
 from kallithea.lib.utils import check_git_version, load_rcextensions, make_ui, set_app_settings, set_indexer_config, set_vcs_config
 from kallithea.lib.utils2 import str2bool
 
@@ -199,6 +200,11 @@
         app = HttpsFixup(app, config)
 
     app = PermanentRepoUrl(app, config)
+
+    # Optional and undocumented wrapper - gives more verbose request/response logging, but has a slight overhead
+    if str2bool(config.get('use_wsgi_wrapper')):
+        app = RequestWrapper(app, config)
+
     return app
 
 
--- a/kallithea/controllers/feed.py	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/controllers/feed.py	Thu Nov 14 23:36:16 2019 +0100
@@ -28,7 +28,7 @@
 
 import logging
 
-from beaker.cache import cache_region, region_invalidate
+from beaker.cache import cache_region
 from tg import response
 from tg import tmpl_context as c
 from tg.i18n import ugettext as _
@@ -40,7 +40,6 @@
 from kallithea.lib.base import BaseRepoController
 from kallithea.lib.diffs import DiffProcessor
 from kallithea.lib.utils2 import safe_int, safe_unicode, str2bool
-from kallithea.model.db import CacheInvalidation
 
 
 log = logging.getLogger(__name__)
@@ -107,7 +106,7 @@
         """Produce an atom-1.0 feed via feedgenerator module"""
 
         @cache_region('long_term', '_get_feed_from_cache')
-        def _get_feed_from_cache(key, kind):
+        def _get_feed_from_cache(*_cache_keys):  # parameters are not really used - only as caching key
             feed = Atom1Feed(
                 title=_('%s %s feed') % (c.site_name, repo_name),
                 link=h.canonical_url('summary_home', repo_name=repo_name),
@@ -130,16 +129,13 @@
             return feed.writeString('utf-8')
 
         kind = 'ATOM'
-        valid = CacheInvalidation.test_and_set_valid(repo_name, kind)
-        if not valid:
-            region_invalidate(_get_feed_from_cache, None, '_get_feed_from_cache', repo_name, kind)
-        return _get_feed_from_cache(repo_name, kind)
+        return _get_feed_from_cache(repo_name, kind, c.db_repo.changeset_cache.get('raw_id'))
 
     def rss(self, repo_name):
         """Produce an rss2 feed via feedgenerator module"""
 
         @cache_region('long_term', '_get_feed_from_cache')
-        def _get_feed_from_cache(key, kind):
+        def _get_feed_from_cache(*_cache_keys):  # parameters are not really used - only as caching key
             feed = Rss201rev2Feed(
                 title=_('%s %s feed') % (c.site_name, repo_name),
                 link=h.canonical_url('summary_home', repo_name=repo_name),
@@ -162,7 +158,4 @@
             return feed.writeString('utf-8')
 
         kind = 'RSS'
-        valid = CacheInvalidation.test_and_set_valid(repo_name, kind)
-        if not valid:
-            region_invalidate(_get_feed_from_cache, None, '_get_feed_from_cache', repo_name, kind)
-        return _get_feed_from_cache(repo_name, kind)
+        return _get_feed_from_cache(repo_name, kind, c.db_repo.changeset_cache.get('raw_id'))
--- a/kallithea/controllers/pullrequests.py	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/controllers/pullrequests.py	Thu Nov 14 23:36:16 2019 +0100
@@ -530,9 +530,14 @@
                             # Note: org_scm_instance.path must come first so all
                             # valid revision numbers are 100% org_scm compatible
                             # - both for avail_revs and for revset results
-                            hgrepo = unionrepo.unionrepository(org_scm_instance.baseui,
-                                                               org_scm_instance.path,
-                                                               other_scm_instance.path)
+                            try:
+                                hgrepo = unionrepo.makeunionrepository(org_scm_instance.baseui,
+                                                                       org_scm_instance.path,
+                                                                       other_scm_instance.path)
+                            except AttributeError: # makeunionrepository was introduced in Mercurial 4.8 23f2299e9e53
+                                hgrepo = unionrepo.unionrepository(org_scm_instance.baseui,
+                                                                   org_scm_instance.path,
+                                                                   other_scm_instance.path)
                         else:
                             hgrepo = org_scm_instance._repo
                         show = set(hgrepo.revs('::%ld & !::parents(%s) & !::%s',
--- a/kallithea/controllers/summary.py	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/controllers/summary.py	Thu Nov 14 23:36:16 2019 +0100
@@ -32,7 +32,7 @@
 from datetime import date, timedelta
 from time import mktime
 
-from beaker.cache import cache_region, region_invalidate
+from beaker.cache import cache_region
 from tg import request
 from tg import tmpl_context as c
 from tg.i18n import ugettext as _
@@ -49,7 +49,7 @@
 from kallithea.lib.vcs.backends.base import EmptyChangeset
 from kallithea.lib.vcs.exceptions import ChangesetError, EmptyRepositoryError, NodeDoesNotExistError
 from kallithea.lib.vcs.nodes import FileNode
-from kallithea.model.db import CacheInvalidation, Statistics
+from kallithea.model.db import Statistics
 
 
 log = logging.getLogger(__name__)
@@ -66,7 +66,7 @@
         log.debug('Looking for README file')
 
         @cache_region('long_term', '_get_readme_from_cache')
-        def _get_readme_from_cache(key, kind):
+        def _get_readme_from_cache(*_cache_keys):  # parameters are not really used - only as caching key
             readme_data = None
             readme_file = None
             try:
@@ -97,10 +97,7 @@
             return readme_data, readme_file
 
         kind = 'README'
-        valid = CacheInvalidation.test_and_set_valid(repo_name, kind)
-        if not valid:
-            region_invalidate(_get_readme_from_cache, None, '_get_readme_from_cache', repo_name, kind)
-        return _get_readme_from_cache(repo_name, kind)
+        return _get_readme_from_cache(repo_name, kind, c.db_repo.changeset_cache.get('raw_id'))
 
     @LoginRequired(allow_default_user=True)
     @HasRepoPermissionLevelDecorator('read')
--- a/kallithea/front-end/kallithea-select2.less	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/front-end/kallithea-select2.less	Thu Nov 14 23:36:16 2019 +0100
@@ -19,6 +19,7 @@
     > .select2-chosen {
       margin-right: inherit; // don't leave room for .select2-arrow
       line-height: inherit;
+      padding: 0;
     }
     > .select2-arrow {
       display: none;
@@ -26,6 +27,12 @@
   }
 }
 
+.select2-chosen,
+.select2-choice > span:first-child,
+.select2-container .select2-choices .select2-search-field input {
+    padding: 0 12px;
+}
+
 // Style these like Bootstrap .dropdown-menu
 .branch-switcher-dropdown.select2-drop.select2-drop-active,
 .repo-switcher-dropdown.select2-drop.select2-drop-active {
@@ -66,3 +73,7 @@
 .select2-container.input-sm input {
   .input-sm;
 }
+
+.form-inline .select2-container.form-control {
+  display: inline-block;
+}
--- a/kallithea/front-end/kallithea-variables.less	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/front-end/kallithea-variables.less	Thu Nov 14 23:36:16 2019 +0100
@@ -41,7 +41,7 @@
 @panel-primary-border:              @panel-primary-heading-bg;
 @headings-font-weight:              700;
 @table-cell-padding:                2px 4px;
-@icon-font-path:                    ; /* no glyphicons */
+@icon-font-path:                    ""; /* no glyphicons */
 @icon-font-name:                    none;
 
 /* custom variables */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kallithea/front-end/package-lock.json	Thu Nov 14 23:36:16 2019 +0100
@@ -0,0 +1,1063 @@
+{
+  "name": "kallithea",
+  "requires": true,
+  "lockfileVersion": 1,
+  "dependencies": {
+    "abbrev": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+      "dev": true
+    },
+    "ajv": {
+      "version": "6.10.2",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
+      "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "fast-deep-equal": "^2.0.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
+      }
+    },
+    "amdefine": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+      "dev": true
+    },
+    "ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dev": true,
+      "requires": {
+        "color-convert": "^1.9.0"
+      }
+    },
+    "array-find-index": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+      "dev": true
+    },
+    "asap": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+      "dev": true
+    },
+    "asn1": {
+      "version": "0.2.4",
+      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+      "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "safer-buffer": "~2.1.0"
+      }
+    },
+    "assert-plus": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+      "dev": true,
+      "optional": true
+    },
+    "asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+      "dev": true,
+      "optional": true
+    },
+    "at.js": {
+      "version": "1.5.4",
+      "resolved": "https://registry.npmjs.org/at.js/-/at.js-1.5.4.tgz",
+      "integrity": "sha512-G8mgUb/PqShPoH8AyjuxsTGvIr1o716BtQUKDM44C8qN2W615y7KGJ68MlTGamd0J0D/m28emUkzagaHTdrGZw=="
+    },
+    "aws-sign2": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+      "dev": true,
+      "optional": true
+    },
+    "aws4": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
+      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
+      "dev": true,
+      "optional": true
+    },
+    "balanced-match": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+      "dev": true
+    },
+    "bcrypt-pbkdf": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "tweetnacl": "^0.14.3"
+      }
+    },
+    "bootstrap": {
+      "version": "3.3.7",
+      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz",
+      "integrity": "sha1-WjiTlFSfIzMIdaOxUGVldPip63E="
+    },
+    "brace-expansion": {
+      "version": "1.1.11",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "dev": true,
+      "requires": {
+        "balanced-match": "^1.0.0",
+        "concat-map": "0.0.1"
+      }
+    },
+    "caseless": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+      "dev": true,
+      "optional": true
+    },
+    "chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "dev": true,
+      "requires": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      }
+    },
+    "clean-css": {
+      "version": "3.4.28",
+      "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz",
+      "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=",
+      "dev": true,
+      "requires": {
+        "commander": "2.8.x",
+        "source-map": "0.4.x"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.4.4",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+          "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+          "dev": true,
+          "requires": {
+            "amdefine": ">=0.0.4"
+          }
+        }
+      }
+    },
+    "clone": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+      "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+      "dev": true
+    },
+    "codemirror": {
+      "version": "5.49.0",
+      "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.49.0.tgz",
+      "integrity": "sha512-Hyzr0HToBdZpLBN9dYFO/KlJAsKH37/cXVHPAqa+imml0R92tb9AkmsvjnXL+SluEvjjdfkDgRjc65NG5jnMYA=="
+    },
+    "color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "dev": true,
+      "requires": {
+        "color-name": "1.1.3"
+      }
+    },
+    "color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+      "dev": true
+    },
+    "combined-stream": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "delayed-stream": "~1.0.0"
+      }
+    },
+    "commander": {
+      "version": "2.8.1",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
+      "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
+      "dev": true,
+      "requires": {
+        "graceful-readlink": ">= 1.0.0"
+      }
+    },
+    "concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+      "dev": true
+    },
+    "core-util-is": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+      "dev": true,
+      "optional": true
+    },
+    "dashdash": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "assert-plus": "^1.0.0"
+      }
+    },
+    "datatables.net": {
+      "version": "1.10.20",
+      "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.10.20.tgz",
+      "integrity": "sha512-4E4S7tTU607N3h0fZPkGmAtr9mwy462u+VJ6gxYZ8MxcRIjZqHy3Dv1GNry7i3zQCktTdWbULVKBbkAJkuHEnQ==",
+      "requires": {
+        "jquery": ">=1.7"
+      }
+    },
+    "datatables.net-bs": {
+      "version": "1.10.20",
+      "resolved": "https://registry.npmjs.org/datatables.net-bs/-/datatables.net-bs-1.10.20.tgz",
+      "integrity": "sha512-NsMoOOYZ6NlteOpzhltw21lXsNdhjIMbIOxnqmcrb62ntl8eL9pYzk2AeiDXBlIKY4e550ZrExCq3CYKQ9myEg==",
+      "requires": {
+        "datatables.net": "1.10.20",
+        "jquery": ">=1.7"
+      }
+    },
+    "debug": {
+      "version": "3.2.6",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+      "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+      "dev": true,
+      "requires": {
+        "ms": "^2.1.1"
+      }
+    },
+    "debuglog": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz",
+      "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=",
+      "dev": true
+    },
+    "delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+      "dev": true,
+      "optional": true
+    },
+    "dezalgo": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
+      "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=",
+      "dev": true,
+      "requires": {
+        "asap": "^2.0.0",
+        "wrappy": "1"
+      }
+    },
+    "ecc-jsbn": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "jsbn": "~0.1.0",
+        "safer-buffer": "^2.1.0"
+      }
+    },
+    "errno": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
+      "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "prr": "~1.0.1"
+      }
+    },
+    "escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+      "dev": true
+    },
+    "extend": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+      "dev": true,
+      "optional": true
+    },
+    "extsprintf": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+      "dev": true,
+      "optional": true
+    },
+    "fast-deep-equal": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
+      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+      "dev": true,
+      "optional": true
+    },
+    "fast-json-stable-stringify": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+      "dev": true,
+      "optional": true
+    },
+    "forever-agent": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+      "dev": true,
+      "optional": true
+    },
+    "form-data": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "asynckit": "^0.4.0",
+        "combined-stream": "^1.0.6",
+        "mime-types": "^2.1.12"
+      }
+    },
+    "fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+      "dev": true
+    },
+    "getpass": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "assert-plus": "^1.0.0"
+      }
+    },
+    "glob": {
+      "version": "7.1.6",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+      "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+      "dev": true,
+      "requires": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      }
+    },
+    "graceful-fs": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
+      "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
+      "dev": true
+    },
+    "graceful-readlink": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+      "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
+      "dev": true
+    },
+    "har-schema": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+      "dev": true,
+      "optional": true
+    },
+    "har-validator": {
+      "version": "5.1.3",
+      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+      "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "ajv": "^6.5.5",
+        "har-schema": "^2.0.0"
+      }
+    },
+    "has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+      "dev": true
+    },
+    "hosted-git-info": {
+      "version": "2.8.5",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz",
+      "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==",
+      "dev": true
+    },
+    "http-signature": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "assert-plus": "^1.0.0",
+        "jsprim": "^1.2.2",
+        "sshpk": "^1.7.0"
+      }
+    },
+    "image-size": {
+      "version": "0.5.5",
+      "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+      "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+      "dev": true,
+      "optional": true
+    },
+    "inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+      "dev": true,
+      "requires": {
+        "once": "^1.3.0",
+        "wrappy": "1"
+      }
+    },
+    "inherits": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+      "dev": true
+    },
+    "is-typedarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+      "dev": true,
+      "optional": true
+    },
+    "isstream": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+      "dev": true,
+      "optional": true
+    },
+    "jquery": {
+      "version": "3.4.1",
+      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz",
+      "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw=="
+    },
+    "jquery.caret": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/jquery.caret/-/jquery.caret-0.3.1.tgz",
+      "integrity": "sha1-nAkzGPrzJ+/zIugmyp8yQTaLx7g="
+    },
+    "jquery.flot": {
+      "version": "0.8.3",
+      "resolved": "https://registry.npmjs.org/jquery.flot/-/jquery.flot-0.8.3.tgz",
+      "integrity": "sha512-/tEE8J5NjwvStHDaCHkvTJpD7wDS4hE1OEL8xEmhgQfUe0gLUem923PIceNez1mz4yBNx6Hjv7pJcowLNd+nbg=="
+    },
+    "jsbn": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+      "dev": true,
+      "optional": true
+    },
+    "json-parse-better-errors": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+      "dev": true
+    },
+    "json-schema": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+      "dev": true,
+      "optional": true
+    },
+    "json-schema-traverse": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true,
+      "optional": true
+    },
+    "json-stringify-safe": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+      "dev": true,
+      "optional": true
+    },
+    "jsprim": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "assert-plus": "1.0.0",
+        "extsprintf": "1.3.0",
+        "json-schema": "0.2.3",
+        "verror": "1.10.0"
+      }
+    },
+    "less": {
+      "version": "3.10.3",
+      "resolved": "https://registry.npmjs.org/less/-/less-3.10.3.tgz",
+      "integrity": "sha512-vz32vqfgmoxF1h3K4J+yKCtajH0PWmjkIFgbs5d78E/c/e+UQTnI+lWK+1eQRE95PXM2mC3rJlLSSP9VQHnaow==",
+      "dev": true,
+      "requires": {
+        "clone": "^2.1.2",
+        "errno": "^0.1.1",
+        "graceful-fs": "^4.1.2",
+        "image-size": "~0.5.0",
+        "mime": "^1.4.1",
+        "mkdirp": "^0.5.0",
+        "promise": "^7.1.1",
+        "request": "^2.83.0",
+        "source-map": "~0.6.0"
+      }
+    },
+    "less-plugin-clean-css": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/less-plugin-clean-css/-/less-plugin-clean-css-1.5.1.tgz",
+      "integrity": "sha1-zFeveqM5iVflbezr5jy2DCNClwM=",
+      "dev": true,
+      "requires": {
+        "clean-css": "^3.0.1"
+      }
+    },
+    "license-checker": {
+      "version": "25.0.1",
+      "resolved": "https://registry.npmjs.org/license-checker/-/license-checker-25.0.1.tgz",
+      "integrity": "sha512-mET5AIwl7MR2IAKYYoVBBpV0OnkKQ1xGj2IMMeEFIs42QAkEVjRtFZGWmQ28WeU7MP779iAgOaOy93Mn44mn6g==",
+      "dev": true,
+      "requires": {
+        "chalk": "^2.4.1",
+        "debug": "^3.1.0",
+        "mkdirp": "^0.5.1",
+        "nopt": "^4.0.1",
+        "read-installed": "~4.0.3",
+        "semver": "^5.5.0",
+        "spdx-correct": "^3.0.0",
+        "spdx-expression-parse": "^3.0.0",
+        "spdx-satisfies": "^4.0.0",
+        "treeify": "^1.1.0"
+      }
+    },
+    "mime": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+      "dev": true,
+      "optional": true
+    },
+    "mime-db": {
+      "version": "1.40.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
+      "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
+      "dev": true,
+      "optional": true
+    },
+    "mime-types": {
+      "version": "2.1.24",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
+      "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "mime-db": "1.40.0"
+      }
+    },
+    "minimatch": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+      "dev": true,
+      "requires": {
+        "brace-expansion": "^1.1.7"
+      }
+    },
+    "minimist": {
+      "version": "0.0.8",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+      "dev": true
+    },
+    "mkdirp": {
+      "version": "0.5.1",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+      "dev": true,
+      "requires": {
+        "minimist": "0.0.8"
+      }
+    },
+    "ms": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+      "dev": true
+    },
+    "nopt": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
+      "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+      "dev": true,
+      "requires": {
+        "abbrev": "1",
+        "osenv": "^0.1.4"
+      }
+    },
+    "normalize-package-data": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+      "dev": true,
+      "requires": {
+        "hosted-git-info": "^2.1.4",
+        "resolve": "^1.10.0",
+        "semver": "2 || 3 || 4 || 5",
+        "validate-npm-package-license": "^3.0.1"
+      }
+    },
+    "oauth-sign": {
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+      "dev": true,
+      "optional": true
+    },
+    "once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+      "dev": true,
+      "requires": {
+        "wrappy": "1"
+      }
+    },
+    "os-homedir": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+      "dev": true
+    },
+    "os-tmpdir": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+      "dev": true
+    },
+    "osenv": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+      "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+      "dev": true,
+      "requires": {
+        "os-homedir": "^1.0.0",
+        "os-tmpdir": "^1.0.0"
+      }
+    },
+    "path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+      "dev": true
+    },
+    "path-parse": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+      "dev": true
+    },
+    "performance-now": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+      "dev": true,
+      "optional": true
+    },
+    "promise": {
+      "version": "7.3.1",
+      "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+      "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "asap": "~2.0.3"
+      }
+    },
+    "prr": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
+      "dev": true,
+      "optional": true
+    },
+    "psl": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
+      "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==",
+      "dev": true,
+      "optional": true
+    },
+    "punycode": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+      "dev": true,
+      "optional": true
+    },
+    "qs": {
+      "version": "6.5.2",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+      "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+      "dev": true,
+      "optional": true
+    },
+    "read-installed": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz",
+      "integrity": "sha1-/5uLZ/GH0eTCm5/rMfayI6zRkGc=",
+      "dev": true,
+      "requires": {
+        "debuglog": "^1.0.1",
+        "graceful-fs": "^4.1.2",
+        "read-package-json": "^2.0.0",
+        "readdir-scoped-modules": "^1.0.0",
+        "semver": "2 || 3 || 4 || 5",
+        "slide": "~1.1.3",
+        "util-extend": "^1.0.1"
+      }
+    },
+    "read-package-json": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.0.tgz",
+      "integrity": "sha512-KLhu8M1ZZNkMcrq1+0UJbR8Dii8KZUqB0Sha4mOx/bknfKI/fyrQVrG/YIt2UOtG667sD8+ee4EXMM91W9dC+A==",
+      "dev": true,
+      "requires": {
+        "glob": "^7.1.1",
+        "graceful-fs": "^4.1.2",
+        "json-parse-better-errors": "^1.0.1",
+        "normalize-package-data": "^2.0.0",
+        "slash": "^1.0.0"
+      }
+    },
+    "readdir-scoped-modules": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz",
+      "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==",
+      "dev": true,
+      "requires": {
+        "debuglog": "^1.0.1",
+        "dezalgo": "^1.0.0",
+        "graceful-fs": "^4.1.2",
+        "once": "^1.3.0"
+      }
+    },
+    "request": {
+      "version": "2.88.0",
+      "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
+      "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "aws-sign2": "~0.7.0",
+        "aws4": "^1.8.0",
+        "caseless": "~0.12.0",
+        "combined-stream": "~1.0.6",
+        "extend": "~3.0.2",
+        "forever-agent": "~0.6.1",
+        "form-data": "~2.3.2",
+        "har-validator": "~5.1.0",
+        "http-signature": "~1.2.0",
+        "is-typedarray": "~1.0.0",
+        "isstream": "~0.1.2",
+        "json-stringify-safe": "~5.0.1",
+        "mime-types": "~2.1.19",
+        "oauth-sign": "~0.9.0",
+        "performance-now": "^2.1.0",
+        "qs": "~6.5.2",
+        "safe-buffer": "^5.1.2",
+        "tough-cookie": "~2.4.3",
+        "tunnel-agent": "^0.6.0",
+        "uuid": "^3.3.2"
+      }
+    },
+    "resolve": {
+      "version": "1.12.0",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
+      "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
+      "dev": true,
+      "requires": {
+        "path-parse": "^1.0.6"
+      }
+    },
+    "safe-buffer": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
+      "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
+      "dev": true,
+      "optional": true
+    },
+    "safer-buffer": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+      "dev": true,
+      "optional": true
+    },
+    "select2": {
+      "version": "3.5.1",
+      "resolved": "https://registry.npmjs.org/select2/-/select2-3.5.1.tgz",
+      "integrity": "sha1-8oGUibvGX9bTKL5yu+K5XdfofP4="
+    },
+    "select2-bootstrap-css": {
+      "version": "1.4.6",
+      "resolved": "https://registry.npmjs.org/select2-bootstrap-css/-/select2-bootstrap-css-1.4.6.tgz",
+      "integrity": "sha1-XPtoJG9SmcoYWOAe/XiIBMc0mX4="
+    },
+    "semver": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+      "dev": true
+    },
+    "slash": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+      "dev": true
+    },
+    "slide": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
+      "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=",
+      "dev": true
+    },
+    "source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true,
+      "optional": true
+    },
+    "spdx-compare": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz",
+      "integrity": "sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A==",
+      "dev": true,
+      "requires": {
+        "array-find-index": "^1.0.2",
+        "spdx-expression-parse": "^3.0.0",
+        "spdx-ranges": "^2.0.0"
+      }
+    },
+    "spdx-correct": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
+      "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
+      "dev": true,
+      "requires": {
+        "spdx-expression-parse": "^3.0.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "spdx-exceptions": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
+      "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
+      "dev": true
+    },
+    "spdx-expression-parse": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+      "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+      "dev": true,
+      "requires": {
+        "spdx-exceptions": "^2.1.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "spdx-license-ids": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
+      "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
+      "dev": true
+    },
+    "spdx-ranges": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/spdx-ranges/-/spdx-ranges-2.1.1.tgz",
+      "integrity": "sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA==",
+      "dev": true
+    },
+    "spdx-satisfies": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/spdx-satisfies/-/spdx-satisfies-4.0.1.tgz",
+      "integrity": "sha512-WVzZ/cXAzoNmjCWiEluEA3BjHp5tiUmmhn9MK+X0tBbR9sOqtC6UQwmgCNrAIZvNlMuBUYAaHYfb2oqlF9SwKA==",
+      "dev": true,
+      "requires": {
+        "spdx-compare": "^1.0.0",
+        "spdx-expression-parse": "^3.0.0",
+        "spdx-ranges": "^2.0.0"
+      }
+    },
+    "sshpk": {
+      "version": "1.16.1",
+      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+      "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "asn1": "~0.2.3",
+        "assert-plus": "^1.0.0",
+        "bcrypt-pbkdf": "^1.0.0",
+        "dashdash": "^1.12.0",
+        "ecc-jsbn": "~0.1.1",
+        "getpass": "^0.1.1",
+        "jsbn": "~0.1.0",
+        "safer-buffer": "^2.0.2",
+        "tweetnacl": "~0.14.0"
+      }
+    },
+    "supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "dev": true,
+      "requires": {
+        "has-flag": "^3.0.0"
+      }
+    },
+    "tough-cookie": {
+      "version": "2.4.3",
+      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
+      "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "psl": "^1.1.24",
+        "punycode": "^1.4.1"
+      },
+      "dependencies": {
+        "punycode": {
+          "version": "1.4.1",
+          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+          "dev": true,
+          "optional": true
+        }
+      }
+    },
+    "treeify": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz",
+      "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==",
+      "dev": true
+    },
+    "tunnel-agent": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "safe-buffer": "^5.0.1"
+      }
+    },
+    "tweetnacl": {
+      "version": "0.14.5",
+      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+      "dev": true,
+      "optional": true
+    },
+    "uri-js": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+      "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "punycode": "^2.1.0"
+      }
+    },
+    "util-extend": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz",
+      "integrity": "sha1-p8IW0mdUUWljeztu3GypEZ4v+T8=",
+      "dev": true
+    },
+    "uuid": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
+      "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
+      "dev": true,
+      "optional": true
+    },
+    "validate-npm-package-license": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+      "dev": true,
+      "requires": {
+        "spdx-correct": "^3.0.0",
+        "spdx-expression-parse": "^3.0.0"
+      }
+    },
+    "verror": {
+      "version": "1.10.0",
+      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "assert-plus": "^1.0.0",
+        "core-util-is": "1.0.2",
+        "extsprintf": "^1.2.0"
+      }
+    },
+    "wrappy": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+      "dev": true
+    }
+  }
+}
--- a/kallithea/front-end/package.json	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/front-end/package.json	Thu Nov 14 23:36:16 2019 +0100
@@ -4,18 +4,18 @@
   "dependencies": {
     "at.js": "1.5.4",
     "bootstrap": "3.3.7",
-    "codemirror": "4.7",
-    "datatables.net": "1.10.13",
-    "datatables.net-bs": "1.10.13",
-    "jquery": "1.12.3",
+    "codemirror": "5.49.0",
+    "datatables.net": "1.10.20",
+    "datatables.net-bs": "1.10.20",
+    "jquery": "3.4.1",
     "jquery.caret": "0.3.1",
     "jquery.flot": "0.8.3",
     "select2": "3.5.1",
-    "select2-bootstrap-css": "1.2.4"
+    "select2-bootstrap-css": "1.4.6"
   },
   "devDependencies": {
-    "less": "~2.7",
-    "less-plugin-clean-css": "~1.5",
-    "license-checker": "24.1.0"
+    "less": "3.10.3",
+    "less-plugin-clean-css": "1.5.1",
+    "license-checker": "25.0.1"
   }
 }
--- a/kallithea/i18n/be/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/be/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2017-08-20 10:44+0000\n"
 "Last-Translator: Viktar Vauchkevich <victorenator@gmail.com>\n"
 "Language-Team: Belarusian <https://hosted.weblate.org/projects/kallithea/"
@@ -128,12 +128,12 @@
 "Сервер не можа выканаць запыт з-за нечаканых умоваў, якія ўзніклі падчас "
 "яго спрацавання."
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr "%s выканаў каміт у %s"
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -143,12 +143,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr "Змены апынуліся занадта вялікімі і былі скарочаныя..."
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr "Стужка навін %s %s"
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr "Змены ў рэпазітары %s"
@@ -424,38 +424,38 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr "Гэты pull-запыт быў зачынены і не можа быць абноўлены."
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, fuzzy, python-format
 #| msgid "The following changes are available on %s:"
 msgid "The following additional changes are available on %s:"
 msgstr "Гэтыя змены даступныя на %s:"
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 #, fuzzy
 #| msgid "No changesets found for updating this pull request."
 msgid "No additional changesets found for iterating on this pull request."
 msgstr "Няма змен для абнаўлення гэтага pull-запыту."
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr "Увага: Галіна %s мае яшчэ адну верхавіну: %s."
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 #, fuzzy
 #| msgid "Git pull requests don't support updates yet."
 msgid "Git pull requests don't support iterating yet."
 msgstr "Абнаўленне pull-запытаў git яшчэ не падтрымліваецца."
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, fuzzy, python-format
 #| msgid "No changesets found for updating this pull request."
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr "Няма змен для абнаўлення гэтага pull-запыту."
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -471,12 +471,12 @@
 msgid "An error occurred during search operation."
 msgstr "Памылка пры выкананні гэтага пошуку."
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr "Няма дадзеных"
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr "Статыстычныя дадзеныя адключаны для гэтага рэпазітара"
@@ -904,7 +904,7 @@
 msgid "Updated VCS settings"
 msgstr "Абноўлены налады VCS"
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1102,166 +1102,166 @@
 msgid "No changes detected"
 msgstr "Змен не выяўлена"
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr "Выдаленая галіна: %s"
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr "Створаны тэг: %s"
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, python-format
 msgid "Changeset %s not found"
 msgstr "Набор змен %s не знойдзены"
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr "Паказаць адрозненні разам %s->%s"
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr "Параўнанне"
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr "і"
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr "на %s больш"
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr "версіі"
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr "Імя форка %s"
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr "Pull-запыт %s"
 
-#: kallithea/lib/helpers.py:785
+#: kallithea/lib/helpers.py:797
 msgid "[deleted] repository"
 msgstr "[выдалены] рэпазітар"
 
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
 msgid "[created] repository"
 msgstr "[створаны] рэпазітар"
 
-#: kallithea/lib/helpers.py:789
+#: kallithea/lib/helpers.py:801
 msgid "[created] repository as fork"
 msgstr "[створаны] рэпазітар як форк"
 
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
 msgid "[forked] repository"
 msgstr "[форкнуты] рэпазітар"
 
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
 msgid "[updated] repository"
 msgstr "[абноўлены] рэпазітар"
 
-#: kallithea/lib/helpers.py:795
+#: kallithea/lib/helpers.py:807
 msgid "[downloaded] archive from repository"
 msgstr "[загружаны] архіў з рэпазітара"
 
-#: kallithea/lib/helpers.py:797
+#: kallithea/lib/helpers.py:809
 msgid "[delete] repository"
 msgstr "[выдалены] рэпазітар"
 
-#: kallithea/lib/helpers.py:805
+#: kallithea/lib/helpers.py:817
 msgid "[created] user"
 msgstr "[створаны] карыстальнік"
 
-#: kallithea/lib/helpers.py:807
+#: kallithea/lib/helpers.py:819
 msgid "[updated] user"
 msgstr "[абноўлены] карыстальнік"
 
-#: kallithea/lib/helpers.py:809
+#: kallithea/lib/helpers.py:821
 msgid "[created] user group"
 msgstr "[створана] група карыстальнікаў"
 
-#: kallithea/lib/helpers.py:811
+#: kallithea/lib/helpers.py:823
 msgid "[updated] user group"
 msgstr "[абноўлена] група карыстальнікаў"
 
-#: kallithea/lib/helpers.py:813
+#: kallithea/lib/helpers.py:825
 msgid "[commented] on revision in repository"
 msgstr "[каментар] да рэвізіі ў рэпазітары"
 
-#: kallithea/lib/helpers.py:815
+#: kallithea/lib/helpers.py:827
 msgid "[commented] on pull request for"
 msgstr "[каментар] у pull-запыце для"
 
-#: kallithea/lib/helpers.py:817
+#: kallithea/lib/helpers.py:829
 msgid "[closed] pull request for"
 msgstr "[зачынены] pull-запыт для"
 
-#: kallithea/lib/helpers.py:819
+#: kallithea/lib/helpers.py:831
 msgid "[pushed] into"
 msgstr "[адпраўлена] у"
 
-#: kallithea/lib/helpers.py:821
+#: kallithea/lib/helpers.py:833
 msgid "[committed via Kallithea] into repository"
 msgstr "[каміт праз Kallithea] у рэпазітары"
 
-#: kallithea/lib/helpers.py:823
+#: kallithea/lib/helpers.py:835
 msgid "[pulled from remote] into repository"
 msgstr "[занесены з аддаленага рэпазітара] у рэпазітар"
 
-#: kallithea/lib/helpers.py:825
+#: kallithea/lib/helpers.py:837
 msgid "[pulled] from"
 msgstr "[занесены] з"
 
-#: kallithea/lib/helpers.py:827
+#: kallithea/lib/helpers.py:839
 msgid "[started following] repository"
 msgstr "[дададзены ў назіранні] рэпазітар"
 
-#: kallithea/lib/helpers.py:829
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr "[выдалены з назірання] рэпазітар"
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr " і на %s больш"
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr "Няма файлаў"
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr "новы файл"
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr "зменены"
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr "выдалены"
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr "пераназваны"
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr "chmod"
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/bg/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/bg/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -7,13 +7,13 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.4.99\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
 "Language: bg\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 2.6.0\n"
 
@@ -42,7 +42,8 @@
 msgid "Show whitespace"
 msgstr ""
 
-#: kallithea/controllers/changeset.py:88 kallithea/controllers/changeset.py:95
+#: kallithea/controllers/changeset.py:88
+#: kallithea/controllers/changeset.py:95
 #: kallithea/templates/files/diff_2way.html:55
 msgid "Ignore whitespace"
 msgstr ""
@@ -100,7 +101,8 @@
 msgstr ""
 
 #: kallithea/controllers/error.py:85
-msgid "The request could not be understood by the server due to malformed syntax."
+msgid ""
+"The request could not be understood by the server due to malformed syntax."
 msgstr ""
 
 #: kallithea/controllers/error.py:88
@@ -116,15 +118,17 @@
 msgstr ""
 
 #: kallithea/controllers/error.py:94
-msgid "The server encountered an unexpected condition which prevented it from fulfilling the request."
-msgstr ""
-
-#: kallithea/controllers/feed.py:64
+msgid ""
+"The server encountered an unexpected condition which prevented it from "
+"fulfilling the request."
+msgstr ""
+
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr ""
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -134,12 +138,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr ""
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr ""
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr ""
@@ -234,13 +238,13 @@
 msgid "Changesets"
 msgstr ""
 
-#: kallithea/controllers/files.py:730 kallithea/controllers/pullrequests.py:182
-#: kallithea/model/scm.py:676
+#: kallithea/controllers/files.py:730
+#: kallithea/controllers/pullrequests.py:182 kallithea/model/scm.py:676
 msgid "Branches"
 msgstr ""
 
-#: kallithea/controllers/files.py:731 kallithea/controllers/pullrequests.py:183
-#: kallithea/model/scm.py:687
+#: kallithea/controllers/files.py:731
+#: kallithea/controllers/pullrequests.py:183 kallithea/model/scm.py:687
 msgid "Tags"
 msgstr ""
 
@@ -259,7 +263,8 @@
 #: kallithea/templates/admin/repos/repo_add.html:16
 #: kallithea/templates/admin/repos/repos.html:9
 #: kallithea/templates/admin/users/user_edit_advanced.html:6
-#: kallithea/templates/base/base.html:56 kallithea/templates/base/base.html:73
+#: kallithea/templates/base/base.html:56
+#: kallithea/templates/base/base.html:73
 #: kallithea/templates/base/base.html:437 kallithea/templates/index.html:5
 msgid "Repositories"
 msgstr ""
@@ -405,31 +410,32 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 msgid "No additional changesets found for iterating on this pull request."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 msgid "Git pull requests don't support iterating yet."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:564
-#, python-format
-msgid "Error: some changesets not found when displaying pull request from %s."
-msgstr ""
-
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:569
+#, python-format
+msgid ""
+"Error: some changesets not found when displaying pull request from %s."
+msgstr ""
+
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -445,12 +451,12 @@
 msgid "An error occurred during search operation."
 msgstr ""
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr ""
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr ""
@@ -872,8 +878,10 @@
 msgid "Updated VCS settings"
 msgstr ""
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
-msgid "Unable to activate hgsubversion support. The \"hgsubversion\" library is missing"
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
+msgid ""
+"Unable to activate hgsubversion support. The \"hgsubversion\" library is "
+"missing"
 msgstr ""
 
 #: kallithea/controllers/admin/settings.py:141
@@ -1029,7 +1037,8 @@
 msgstr ""
 
 #: kallithea/lib/base.py:483
-msgid "CSRF token leak has been detected - all form tokens have been expired"
+msgid ""
+"CSRF token leak has been detected - all form tokens have been expired"
 msgstr ""
 
 #: kallithea/lib/base.py:580
@@ -1050,174 +1059,179 @@
 msgstr ""
 
 #: kallithea/lib/diffs.py:214
-msgid "Changeset was too big and was cut off, use diff menu to display this diff"
+msgid ""
+"Changeset was too big and was cut off, use diff menu to display this diff"
 msgstr ""
 
 #: kallithea/lib/diffs.py:224
 msgid "No changes detected"
 msgstr ""
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, python-format
 msgid "Changeset %s not found"
 msgstr ""
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr ""
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr ""
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:730 kallithea/templates/changelog/changelog.html:43
+#: kallithea/lib/helpers.py:742
+#: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr ""
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:785
-msgid "[deleted] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
-msgid "[created] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:789
-msgid "[created] repository as fork"
-msgstr ""
-
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
-msgid "[forked] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
-msgid "[updated] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:795
-msgid "[downloaded] archive from repository"
-msgstr ""
-
 #: kallithea/lib/helpers.py:797
-msgid "[delete] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:805
-msgid "[created] user"
+msgid "[deleted] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
+msgid "[created] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:801
+msgid "[created] repository as fork"
+msgstr ""
+
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
+msgid "[forked] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
+msgid "[updated] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:807
-msgid "[updated] user"
+msgid "[downloaded] archive from repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:809
-msgid "[created] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:811
-msgid "[updated] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:813
-msgid "[commented] on revision in repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:815
-msgid "[commented] on pull request for"
+msgid "[delete] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:817
-msgid "[closed] pull request for"
+msgid "[created] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:819
-msgid "[pushed] into"
+msgid "[updated] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:821
-msgid "[committed via Kallithea] into repository"
+msgid "[created] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:823
-msgid "[pulled from remote] into repository"
+msgid "[updated] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:825
-msgid "[pulled] from"
+msgid "[commented] on revision in repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:827
-msgid "[started following] repository"
+msgid "[commented] on pull request for"
 msgstr ""
 
 #: kallithea/lib/helpers.py:829
+msgid "[closed] pull request for"
+msgstr ""
+
+#: kallithea/lib/helpers.py:831
+msgid "[pushed] into"
+msgstr ""
+
+#: kallithea/lib/helpers.py:833
+msgid "[committed via Kallithea] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:835
+msgid "[pulled from remote] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:837
+msgid "[pulled] from"
+msgstr ""
+
+#: kallithea/lib/helpers.py:839
+msgid "[started following] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr ""
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr ""
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr ""
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr ""
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:1285
-#, python-format
-msgid "%s repository is not mapped to db perhaps it was created or renamed from the filesystem please run the application again in order to rescan repositories"
+#: kallithea/lib/helpers.py:1297
+#, python-format
+msgid ""
+"%s repository is not mapped to db perhaps it was created or renamed from "
+"the filesystem please run the application again in order to rescan "
+"repositories"
 msgstr ""
 
 #: kallithea/lib/ssh.py:71
@@ -1403,11 +1417,13 @@
 msgstr ""
 
 #: kallithea/model/db.py:1663
-msgid "Repository creation enabled with write permission to a repository group"
+msgid ""
+"Repository creation enabled with write permission to a repository group"
 msgstr ""
 
 #: kallithea/model/db.py:1664
-msgid "Repository creation disabled with write permission to a repository group"
+msgid ""
+"Repository creation disabled with write permission to a repository group"
 msgstr ""
 
 #: kallithea/model/db.py:1666
@@ -1470,7 +1486,9 @@
 
 #: kallithea/model/notification.py:164
 #, python-format
-msgid "[Comment] %(repo_name)s changeset %(short_id)s \"%(message_short)s\" on %(branch)s"
+msgid ""
+"[Comment] %(repo_name)s changeset %(short_id)s \"%(message_short)s\" on "
+"%(branch)s"
 msgstr ""
 
 #: kallithea/model/notification.py:167
@@ -1480,12 +1498,16 @@
 
 #: kallithea/model/notification.py:169
 #, python-format
-msgid "[Review] %(repo_name)s PR %(pr_nice_id)s \"%(pr_title_short)s\" from %(pr_source_branch)s by %(pr_owner_username)s"
+msgid ""
+"[Review] %(repo_name)s PR %(pr_nice_id)s \"%(pr_title_short)s\" from "
+"%(pr_source_branch)s by %(pr_owner_username)s"
 msgstr ""
 
 #: kallithea/model/notification.py:170
 #, python-format
-msgid "[Comment] %(repo_name)s PR %(pr_nice_id)s \"%(pr_title_short)s\" from %(pr_source_branch)s by %(pr_owner_username)s"
+msgid ""
+"[Comment] %(repo_name)s PR %(pr_nice_id)s \"%(pr_title_short)s\" from "
+"%(pr_source_branch)s by %(pr_owner_username)s"
 msgstr ""
 
 #: kallithea/model/notification.py:183
@@ -1494,7 +1516,8 @@
 
 #: kallithea/model/pull_request.py:73
 #, python-format
-msgid "%(user)s wants you to review pull request %(pr_nice_id)s: %(pr_title)s"
+msgid ""
+"%(user)s wants you to review pull request %(pr_nice_id)s: %(pr_title)s"
 msgstr ""
 
 #: kallithea/model/pull_request.py:209
@@ -1503,7 +1526,9 @@
 
 #: kallithea/model/pull_request.py:217
 #, python-format
-msgid "Cannot create pull request - criss cross merge detected, please merge a later %s revision to %s"
+msgid ""
+"Cannot create pull request - criss cross merge detected, please merge a "
+"later %s revision to %s"
 msgstr ""
 
 #: kallithea/model/pull_request.py:245 kallithea/model/pull_request.py:380
@@ -1525,7 +1550,9 @@
 
 #: kallithea/model/pull_request.py:360
 #, python-format
-msgid "This iteration is based on another %s revision and there is no simple diff."
+msgid ""
+"This iteration is based on another %s revision and there is no simple "
+"diff."
 msgstr ""
 
 #: kallithea/model/pull_request.py:362
@@ -1562,22 +1589,29 @@
 msgstr ""
 
 #: kallithea/model/user.py:250
-msgid "You can't remove this user since it is crucial for the entire application"
+msgid ""
+"You can't remove this user since it is crucial for the entire application"
 msgstr ""
 
 #: kallithea/model/user.py:255
 #, python-format
-msgid "User \"%s\" still owns %s repositories and cannot be removed. Switch owners or remove those repositories: %s"
+msgid ""
+"User \"%s\" still owns %s repositories and cannot be removed. Switch "
+"owners or remove those repositories: %s"
 msgstr ""
 
 #: kallithea/model/user.py:260
 #, python-format
-msgid "User \"%s\" still owns %s repository groups and cannot be removed. Switch owners or remove those repository groups: %s"
+msgid ""
+"User \"%s\" still owns %s repository groups and cannot be removed. Switch "
+"owners or remove those repository groups: %s"
 msgstr ""
 
 #: kallithea/model/user.py:267
 #, python-format
-msgid "User \"%s\" still owns %s user groups and cannot be removed. Switch owners or remove those user groups: %s"
+msgid ""
+"User \"%s\" still owns %s user groups and cannot be removed. Switch "
+"owners or remove those user groups: %s"
 msgstr ""
 
 #: kallithea/model/user.py:361
@@ -1590,7 +1624,9 @@
 
 #: kallithea/model/user.py:409
 #, python-format
-msgid "The password to your account %s has been changed using password reset form."
+msgid ""
+"The password to your account %s has been changed using password reset "
+"form."
 msgstr ""
 
 #: kallithea/model/validators.py:52 kallithea/model/validators.py:53
@@ -1608,7 +1644,9 @@
 msgstr ""
 
 #: kallithea/model/validators.py:76
-msgid "Username may only contain alphanumeric characters underscores, periods or dashes and must begin with an alphanumeric character or underscore"
+msgid ""
+"Username may only contain alphanumeric characters underscores, periods or "
+"dashes and must begin with an alphanumeric character or underscore"
 msgstr ""
 
 #: kallithea/model/validators.py:103
@@ -1630,7 +1668,9 @@
 msgstr ""
 
 #: kallithea/model/validators.py:134
-msgid "user group name may only contain alphanumeric characters underscores, periods or dashes and must begin with alphanumeric character"
+msgid ""
+"user group name may only contain alphanumeric characters underscores, "
+"periods or dashes and must begin with alphanumeric character"
 msgstr ""
 
 #: kallithea/model/validators.py:174
@@ -1688,7 +1728,9 @@
 msgstr ""
 
 #: kallithea/model/validators.py:405
-msgid "Invalid repository URL. It must be a valid http, https, ssh, svn+http or svn+https URL"
+msgid ""
+"Invalid repository URL. It must be a valid http, https, ssh, svn+http or "
+"svn+https URL"
 msgstr ""
 
 #: kallithea/model/validators.py:430
@@ -1725,7 +1767,9 @@
 msgstr ""
 
 #: kallithea/model/validators.py:704
-msgid "The LDAP Login attribute of the CN must be specified - this is the name of the attribute that is equivalent to \"username\""
+msgid ""
+"The LDAP Login attribute of the CN must be specified - this is the name "
+"of the attribute that is equivalent to \"username\""
 msgstr ""
 
 #: kallithea/model/validators.py:716
@@ -1734,7 +1778,8 @@
 
 #: kallithea/model/validators.py:717
 #, python-format
-msgid "The network size (bits) must be within the range of 0-32 (not %(bits)r)"
+msgid ""
+"The network size (bits) must be within the range of 0-32 (not %(bits)r)"
 msgstr ""
 
 #: kallithea/model/validators.py:750
@@ -1912,7 +1957,9 @@
 msgstr ""
 
 #: kallithea/templates/password_reset.html:52
-msgid "A password reset link will be sent to the specified email address if it is registered in the system."
+msgid ""
+"A password reset link will be sent to the specified email address if it "
+"is registered in the system."
 msgstr ""
 
 #: kallithea/templates/password_reset_confirmation.html:23
@@ -1921,7 +1968,9 @@
 msgstr ""
 
 #: kallithea/templates/password_reset_confirmation.html:24
-msgid "Note that you must use the same browser session for this as the one used to request the password reset."
+msgid ""
+"Note that you must use the same browser session for this as the one used "
+"to request the password reset."
 msgstr ""
 
 #: kallithea/templates/password_reset_confirmation.html:29
@@ -2053,7 +2102,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/auth/auth_settings.html:32
-msgid "Comma-separated list of plugins; Kallithea will try user authentication in plugin order"
+msgid ""
+"Comma-separated list of plugins; Kallithea will try user authentication "
+"in plugin order"
 msgstr ""
 
 #: kallithea/templates/admin/auth/auth_settings.html:36
@@ -2107,7 +2158,9 @@
 #: kallithea/templates/admin/repos/repo_add_base.html:59
 #: kallithea/templates/admin/repos/repo_edit_settings.html:65
 #: kallithea/templates/forks/fork.html:61
-msgid "Private repositories are only visible to people explicitly added as collaborators."
+msgid ""
+"Private repositories are only visible to people explicitly added as "
+"collaborators."
 msgstr ""
 
 #: kallithea/templates/admin/defaults/defaults.html:42
@@ -2137,7 +2190,9 @@
 
 #: kallithea/templates/admin/gists/edit.html:35
 #, python-format
-msgid "Gist was updated since you started editing. Copy your changes and click %(here)s to reload new version."
+msgid ""
+"Gist was updated since you started editing. Copy your changes and click "
+"%(here)s to reload new version."
 msgstr ""
 
 #: kallithea/templates/admin/gists/edit.html:36
@@ -2500,7 +2555,8 @@
 
 #: kallithea/templates/admin/my_account/my_account_password.html:39
 #, python-format
-msgid "This account is managed with %s and the password cannot be changed here"
+msgid ""
+"This account is managed with %s and the password cannot be changed here"
 msgstr ""
 
 #: kallithea/templates/admin/my_account/my_account_perms.html:3
@@ -2605,11 +2661,16 @@
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:10
 #, python-format
-msgid "Allow access to Kallithea without needing to log in. Anonymous users use %s user permissions."
+msgid ""
+"Allow access to Kallithea without needing to log in. Anonymous users use "
+"%s user permissions."
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:19
-msgid "All default permissions on each repository will be reset to chosen permission, note that all custom default permission on repositories will be lost"
+msgid ""
+"All default permissions on each repository will be reset to chosen "
+"permission, note that all custom default permission on repositories will "
+"be lost"
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:20
@@ -2629,7 +2690,10 @@
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:32
-msgid "All default permissions on each repository group will be reset to chosen permission, note that all custom default permission on repository groups will be lost"
+msgid ""
+"All default permissions on each repository group will be reset to chosen "
+"permission, note that all custom default permission on repository groups "
+"will be lost"
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:33
@@ -2646,7 +2710,10 @@
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:45
-msgid "All default permissions on each user group will be reset to chosen permission, note that all custom default permission on user groups will be lost"
+msgid ""
+"All default permissions on each user group will be reset to chosen "
+"permission, note that all custom default permission on user groups will "
+"be lost"
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:46
@@ -2662,11 +2729,14 @@
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:56
-msgid "Enable this to allow non-admins to create repositories at the top level."
+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."
+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
@@ -2674,7 +2744,10 @@
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:64
-msgid "With this, write permission to a repository group allows creating repositories inside that group. Without this, group write permissions mean nothing."
+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
@@ -2721,7 +2794,8 @@
 #: kallithea/templates/admin/repo_groups/repo_group_edit.html:11
 #: kallithea/templates/admin/repo_groups/repo_group_edit_perms.html:89
 #: kallithea/templates/admin/repo_groups/repo_groups.html:9
-#: kallithea/templates/base/base.html:57 kallithea/templates/base/base.html:76
+#: kallithea/templates/base/base.html:57
+#: kallithea/templates/base/base.html:76
 msgid "Repository Groups"
 msgstr ""
 
@@ -2761,7 +2835,8 @@
 #: kallithea/templates/admin/repos/repo_edit.html:25
 #: kallithea/templates/admin/settings/settings.html:11
 #: kallithea/templates/admin/user_groups/user_group_edit.html:29
-#: kallithea/templates/base/base.html:63 kallithea/templates/base/base.html:152
+#: kallithea/templates/base/base.html:63
+#: kallithea/templates/base/base.html:152
 msgid "Settings"
 msgstr ""
 
@@ -2869,7 +2944,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repo_groups/repo_group_edit_perms.html:92
-msgid "Set or revoke permission to all children of that group, including non-private repositories and other groups if selected."
+msgid ""
+"Set or revoke permission to all children of that group, including non-"
+"private repositories and other groups if selected."
 msgstr ""
 
 #: kallithea/templates/admin/repo_groups/repo_group_edit_settings.html:38
@@ -2898,13 +2975,16 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_add_base.html:16
-msgid "Optional: URL of a remote repository. If set, the repository will be created as a clone from this URL."
+msgid ""
+"Optional: URL of a remote repository. If set, the repository will be "
+"created as a clone from this URL."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_add_base.html:24
 #: kallithea/templates/admin/repos/repo_edit_settings.html:57
 #: kallithea/templates/forks/fork.html:37
-msgid "Keep it short and to the point. Use a README file for longer descriptions."
+msgid ""
+"Keep it short and to the point. Use a README file for longer descriptions."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_add_base.html:31
@@ -2924,7 +3004,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_add_base.html:52
-msgid "Default revision for files page, downloads, full text search index and readme generation"
+msgid ""
+"Default revision for files page, downloads, full text search index and "
+"readme generation"
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_creating.html:9
@@ -2938,11 +3020,15 @@
 
 #: kallithea/templates/admin/repos/repo_creating.html:27
 #, python-format
-msgid "Repository \"%(repo_name)s\" is being created, you will be redirected when this process is finished.repo_name"
+msgid ""
+"Repository \"%(repo_name)s\" is being created, you will be redirected "
+"when this process is finished.repo_name"
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_creating.html:39
-msgid "We're sorry but error occurred during this operation. Please check your Kallithea server logs, or contact administrator."
+msgid ""
+"We're sorry but error occurred during this operation. Please check your "
+"Kallithea server logs, or contact administrator."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit.html:8
@@ -2994,7 +3080,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_advanced.html:37
-msgid "All actions done in this repository will be visible to everyone in the public journal."
+msgid ""
+"All actions done in this repository will be visible to everyone in the "
+"public journal."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_advanced.html:46
@@ -3023,7 +3111,10 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_advanced.html:62
-msgid "The deleted repository will be moved away and hidden until the administrator expires it. The administrator can both permanently delete it or restore it."
+msgid ""
+"The deleted repository will be moved away and hidden until the "
+"administrator expires it. The administrator can both permanently delete "
+"it or restore it."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_caches.html:4
@@ -3031,7 +3122,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_caches.html:6
-msgid "Manually invalidate cache for this repository. On first access, the repository will be cached again."
+msgid ""
+"Manually invalidate cache for this repository. On first access, the "
+"repository will be cached again."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_caches.html:9
@@ -3120,9 +3213,12 @@
 
 #: kallithea/templates/admin/repos/repo_edit_settings.html:14
 msgid ""
-"In case this repository is renamed or moved into another group the repository URL changes.\n"
-"                               Using the above permanent URL guarantees that this repository always will be accessible on that URL.\n"
-"                               This is useful for CI systems, or any other cases that you need to hardcode the URL into a 3rd party service."
+"In case this repository is renamed or moved into another group the "
+"repository URL changes.\n"
+"                               Using the above permanent URL guarantees "
+"that this repository always will be accessible on that URL.\n"
+"                               This is useful for CI systems, or any "
+"other cases that you need to hardcode the URL into a 3rd party service."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_settings.html:21
@@ -3134,7 +3230,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_settings.html:28
-msgid "Optional: URL of a remote repository. If set, the repository can be pulled from this URL."
+msgid ""
+"Optional: URL of a remote repository. If set, the repository can be "
+"pulled from this URL."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_settings.html:43
@@ -3228,7 +3326,12 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_global.html:22
-msgid "HTML (possibly with                         JavaScript and/or CSS) that will be added to the bottom                         of every page. This can be used for web analytics                         systems, but also to                         perform instance-specific customizations like adding a                         project banner at the top of every page."
+msgid ""
+"HTML (possibly with                         JavaScript and/or CSS) that "
+"will be added to the bottom                         of every page. This "
+"can be used for web analytics                         systems, but also "
+"to                         perform instance-specific customizations like "
+"adding a                         project banner at the top of every page."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_global.html:32
@@ -3244,7 +3347,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_global.html:43
-msgid "Private key for reCaptcha system. Setting this value will enable captcha on registration."
+msgid ""
+"Private key for reCaptcha system. Setting this value will enable captcha "
+"on registration."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_global.html:49
@@ -3262,7 +3367,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_hooks.html:18
-msgid "Hooks can be used to trigger actions on certain events such as push / pull. They can trigger Python functions or external applications."
+msgid ""
+"Hooks can be used to trigger actions on certain events such as push / "
+"pull. They can trigger Python functions or external applications."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_hooks.html:60
@@ -3278,7 +3385,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:12
-msgid "Check this option to remove all comments, pull requests and other records related to repositories that no longer exist in the filesystem."
+msgid ""
+"Check this option to remove all comments, pull requests and other records "
+"related to repositories that no longer exist in the filesystem."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:17
@@ -3294,7 +3403,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:28
-msgid "Verify if Kallithea's Git hooks are installed for each repository. Current hooks will be updated to the latest version."
+msgid ""
+"Verify if Kallithea's Git hooks are installed for each repository. "
+"Current hooks will be updated to the latest version."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:32
@@ -3302,7 +3413,10 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:35
-msgid "If installing Git hooks, overwrite any existing hooks, even if they do not seem to come from Kallithea. WARNING: This operation will destroy any custom git hooks you may have deployed by hand!"
+msgid ""
+"If installing Git hooks, overwrite any existing hooks, even if they do "
+"not seem to come from Kallithea. WARNING: This operation will destroy any "
+"custom git hooks you may have deployed by hand!"
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:41
@@ -3318,7 +3432,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_search.html:12
-msgid "This option completely reindexeses all of the repositories for proper fulltext search capabilities."
+msgid ""
+"This option completely reindexeses all of the repositories for proper "
+"fulltext search capabilities."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_search.html:18
@@ -3378,7 +3494,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_vcs.html:35
-msgid "Requires hgsubversion library to be installed. Enables cloning of remote Subversion repositories while converting them to Mercurial."
+msgid ""
+"Requires hgsubversion library to be installed. Enables cloning of remote "
+"Subversion repositories while converting them to Mercurial."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_vcs.html:47
@@ -3386,11 +3504,15 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_vcs.html:52
-msgid "Click to unlock. You must restart Kallithea in order to make this setting take effect."
+msgid ""
+"Click to unlock. You must restart Kallithea in order to make this setting "
+"take effect."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_vcs.html:56
-msgid "Filesystem location where repositories are stored. After changing this value, a restart and rescan of the repository folder are both required."
+msgid ""
+"Filesystem location where repositories are stored. After changing this "
+"value, a restart and rescan of the repository folder are both required."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:4
@@ -3410,7 +3532,8 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:20
-msgid "Shows or hides a version number of Kallithea displayed in the footer."
+msgid ""
+"Shows or hides a version number of Kallithea displayed in the footer."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:25
@@ -3420,12 +3543,18 @@
 #: kallithea/templates/admin/settings/settings_visual.html:29
 msgid ""
 "Gravatar URL allows you to use another avatar server application.\n"
-"                                                        The following variables of the URL will be replaced accordingly.\n"
-"                                                        {scheme}    'http' or 'https' sent from running Kallithea server,\n"
-"                                                        {email}     user email,\n"
-"                                                        {md5email}  md5 hash of the user email (like at gravatar.com),\n"
-"                                                        {size}      size of the image that is expected from the server application,\n"
-"                                                        {netloc}    network location/server host of running Kallithea server"
+"                                                        The following "
+"variables of the URL will be replaced accordingly.\n"
+"                                                        {scheme}    "
+"'http' or 'https' sent from running Kallithea server,\n"
+"                                                        {email}     user "
+"email,\n"
+"                                                        {md5email}  md5 "
+"hash of the user email (like at gravatar.com),\n"
+"                                                        {size}      size "
+"of the image that is expected from the server application,\n"
+"                                                        {netloc}    "
+"network location/server host of running Kallithea server"
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:40
@@ -3434,15 +3563,24 @@
 
 #: kallithea/templates/admin/settings/settings_visual.html:43
 msgid ""
-"Schema of clone URL construction eg. '{scheme}://{user}@{netloc}/{repo}'.\n"
-"                                                    The following variables are available:\n"
-"                                                    {scheme} 'http' or 'https' sent from running Kallithea server,\n"
-"                                                    {user}   current user username,\n"
-"                                                    {netloc} network location/server host of running Kallithea server,\n"
-"                                                    {repo}   full repository name,\n"
-"                                                    {repoid} ID of repository, can be used to construct clone-by-id,\n"
-"                                                    {system_user}  name of the Kallithea system user,\n"
-"                                                    {hostname}  server hostname\n"
+"Schema of clone URL construction eg. '{scheme}://{user}@{netloc}/"
+"{repo}'.\n"
+"                                                    The following "
+"variables are available:\n"
+"                                                    {scheme} 'http' or "
+"'https' sent from running Kallithea server,\n"
+"                                                    {user}   current user "
+"username,\n"
+"                                                    {netloc} network "
+"location/server host of running Kallithea server,\n"
+"                                                    {repo}   full "
+"repository name,\n"
+"                                                    {repoid} ID of "
+"repository, can be used to construct clone-by-id,\n"
+"                                                    {system_user}  name "
+"of the Kallithea system user,\n"
+"                                                    {hostname}  server "
+"hostname\n"
 "                                                    "
 msgstr ""
 
@@ -3451,7 +3589,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:59
-msgid "Schema for constructing SSH clone URL, eg. 'ssh://{system_user}@{hostname}/{repo}'."
+msgid ""
+"Schema for constructing SSH clone URL, eg. 'ssh://{system_user}"
+"@{hostname}/{repo}'."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:65
@@ -3459,7 +3599,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:68
-msgid "Number of items displayed in the repository pages before pagination is shown."
+msgid ""
+"Number of items displayed in the repository pages before pagination is "
+"shown."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:73
@@ -3467,7 +3609,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:76
-msgid "Number of items displayed in the admin pages grids before pagination is shown."
+msgid ""
+"Number of items displayed in the admin pages grids before pagination is "
+"shown."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:81
@@ -3491,7 +3635,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:105
-msgid "Parses meta tags from the repository description field and turns them into colored tags."
+msgid ""
+"Parses meta tags from the repository description field and turns them "
+"into colored tags."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:109
@@ -3505,7 +3651,8 @@
 #: kallithea/templates/admin/user_groups/user_group_add.html:10
 #: kallithea/templates/admin/user_groups/user_group_edit.html:11
 #: kallithea/templates/admin/user_groups/user_groups.html:9
-#: kallithea/templates/base/base.html:59 kallithea/templates/base/base.html:79
+#: kallithea/templates/base/base.html:59
+#: kallithea/templates/base/base.html:79
 msgid "User Groups"
 msgstr ""
 
@@ -3653,11 +3800,13 @@
 msgid "Support"
 msgstr ""
 
-#: kallithea/templates/base/base.html:86 kallithea/templates/base/base.html:417
+#: kallithea/templates/base/base.html:86
+#: kallithea/templates/base/base.html:417
 msgid "Mercurial repository"
 msgstr ""
 
-#: kallithea/templates/base/base.html:89 kallithea/templates/base/base.html:420
+#: kallithea/templates/base/base.html:89
+#: kallithea/templates/base/base.html:420
 msgid "Git repository"
 msgstr ""
 
@@ -3719,7 +3868,8 @@
 msgid "Unfollow"
 msgstr ""
 
-#: kallithea/templates/base/base.html:171 kallithea/templates/forks/fork.html:9
+#: kallithea/templates/base/base.html:171
+#: kallithea/templates/forks/fork.html:9
 msgid "Fork"
 msgstr ""
 
@@ -4317,7 +4467,9 @@
 msgstr ""
 
 #: kallithea/templates/compare/compare_cs.html:15
-msgid "Please merge the target branch to your branch before creating a pull request."
+msgid ""
+"Please merge the target branch to your branch before creating a pull "
+"request."
 msgstr ""
 
 #: kallithea/templates/compare/compare_cs.html:19
@@ -4446,7 +4598,9 @@
 msgstr ""
 
 #: kallithea/templates/email_templates/password_reset.html:25
-msgid "This account is however managed outside this system and the password cannot be changed here."
+msgid ""
+"This account is however managed outside this system and the password "
+"cannot be changed here."
 msgstr ""
 
 #: kallithea/templates/email_templates/password_reset.html:28
@@ -4454,11 +4608,15 @@
 msgstr ""
 
 #: kallithea/templates/email_templates/password_reset.html:33
-msgid "Should you not be able to use the link above, please type the following code into the password reset form"
+msgid ""
+"Should you not be able to use the link above, please type the following "
+"code into the password reset form"
 msgstr ""
 
 #: kallithea/templates/email_templates/password_reset.html:44
-msgid "If it weren't you who requested the password reset, just disregard this message."
+msgid ""
+"If it weren't you who requested the password reset, just disregard this "
+"message."
 msgstr ""
 
 #: kallithea/templates/email_templates/pull_request.html:4
@@ -4928,7 +5086,9 @@
 msgstr ""
 
 #: kallithea/templates/pullrequests/pullrequest_show.html:95
-msgid "This is just a range of changesets and doesn't have a target or a real merge ancestor."
+msgid ""
+"This is just a range of changesets and doesn't have a target or a real "
+"merge ancestor."
 msgstr ""
 
 #: kallithea/templates/pullrequests/pullrequest_show.html:103
@@ -4944,7 +5104,9 @@
 msgstr ""
 
 #: kallithea/templates/pullrequests/pullrequest_show.html:177
-msgid "Pull request iterations do not change content once created. Select a revision to create a new iteration."
+msgid ""
+"Pull request iterations do not change content once created. Select a "
+"revision to create a new iteration."
 msgstr ""
 
 #: kallithea/templates/pullrequests/pullrequest_show.html:187
--- a/kallithea/i18n/cs/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/cs/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2015-11-12 08:51+0000\n"
 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
 "Language-Team: Czech <https://hosted.weblate.org/projects/kallithea/"
@@ -126,12 +126,12 @@
 "fulfilling the request."
 msgstr ""
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr ""
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -141,12 +141,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr ""
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr ""
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr "Změny na repozitáři %s"
@@ -415,32 +415,32 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 msgid "No additional changesets found for iterating on this pull request."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 msgid "Git pull requests don't support iterating yet."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, python-format
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -456,12 +456,12 @@
 msgid "An error occurred during search operation."
 msgstr "Došlo k chybě při vyhledávání."
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr ""
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr ""
@@ -885,7 +885,7 @@
 msgid "Updated VCS settings"
 msgstr ""
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1075,167 +1075,167 @@
 msgid "No changes detected"
 msgstr ""
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, fuzzy, python-format
 #| msgid "Set changeset status"
 msgid "Changeset %s not found"
 msgstr "Změny"
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr ""
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr ""
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr ""
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:785
-msgid "[deleted] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
-msgid "[created] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:789
-msgid "[created] repository as fork"
-msgstr ""
-
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
-msgid "[forked] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
-msgid "[updated] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:795
-msgid "[downloaded] archive from repository"
-msgstr ""
-
 #: kallithea/lib/helpers.py:797
-msgid "[delete] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:805
-msgid "[created] user"
+msgid "[deleted] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
+msgid "[created] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:801
+msgid "[created] repository as fork"
+msgstr ""
+
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
+msgid "[forked] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
+msgid "[updated] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:807
-msgid "[updated] user"
+msgid "[downloaded] archive from repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:809
-msgid "[created] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:811
-msgid "[updated] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:813
-msgid "[commented] on revision in repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:815
-msgid "[commented] on pull request for"
+msgid "[delete] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:817
-msgid "[closed] pull request for"
+msgid "[created] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:819
-msgid "[pushed] into"
+msgid "[updated] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:821
-msgid "[committed via Kallithea] into repository"
+msgid "[created] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:823
-msgid "[pulled from remote] into repository"
+msgid "[updated] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:825
-msgid "[pulled] from"
+msgid "[commented] on revision in repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:827
-msgid "[started following] repository"
+msgid "[commented] on pull request for"
 msgstr ""
 
 #: kallithea/lib/helpers.py:829
+msgid "[closed] pull request for"
+msgstr ""
+
+#: kallithea/lib/helpers.py:831
+msgid "[pushed] into"
+msgstr ""
+
+#: kallithea/lib/helpers.py:833
+msgid "[committed via Kallithea] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:835
+msgid "[pulled from remote] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:837
+msgid "[pulled] from"
+msgstr ""
+
+#: kallithea/lib/helpers.py:839
+msgid "[started following] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr ""
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr ""
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr ""
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr ""
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/da/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/da/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -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: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2019-03-14 01:03+0000\n"
 "Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
 "Language-Team: Danish <https://hosted.weblate.org/projects/kallithea/"
@@ -128,12 +128,12 @@
 "Serveren stødte på en uventet tilstand, som forhindrede den i at opfylde "
 "anmodningen."
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr "%s committed den %s"
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -143,12 +143,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr "Changesettet var for stor og blev afskåret..."
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr "Feed for %s %s"
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr "Ændringer på repository %s"
@@ -424,28 +424,28 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr "Denne pull-forespørgsel er lukket og kan ikke opdateres."
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr "Følgende yderligere ændringer er tilgængelige på %s:"
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 msgid "No additional changesets found for iterating on this pull request."
 msgstr ""
 "Ingen yderligere changesets fundet ved iteration på denne pull-"
 "forespørgsel."
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr "Bemærk: Branch %s har et andet head: %s."
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 msgid "Git pull requests don't support iterating yet."
 msgstr "Git pull-forespørgsler supportere ej iteration endnu."
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, python-format
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
@@ -453,7 +453,7 @@
 "Fejl: Nogle changesets kunne ikke findes ved visning af pull-forespørgsel "
 "fra %s."
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 "Diff'en kunne ikke vises - pull-forespørgslens revisions kunne ikke "
@@ -471,12 +471,12 @@
 msgid "An error occurred during search operation."
 msgstr "Der opstod en fejl under søgning."
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr "Ingen data er klar endnu"
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr "Statistik er slået fra for dette repository"
@@ -906,7 +906,7 @@
 msgid "Updated VCS settings"
 msgstr "Opdateret VCS-indstillinger"
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1101,166 +1101,166 @@
 msgid "No changes detected"
 msgstr "Ingen ændringer fundet"
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr "Slettet branch: %s"
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr "Oprettet tag: %s"
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, python-format
 msgid "Changeset %s not found"
 msgstr "Changeset %s ikke fundet"
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr "Vis alle kombineret changesets %s->%s"
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr "Sammenlign visning"
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr "og"
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr "%s flere"
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr "revisioner"
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr "Fork-navn %s"
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr "Pull-forespørgsel %s"
 
-#: kallithea/lib/helpers.py:785
+#: kallithea/lib/helpers.py:797
 msgid "[deleted] repository"
 msgstr "[slettet] repository"
 
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
 msgid "[created] repository"
 msgstr "[oprettet] repository"
 
-#: kallithea/lib/helpers.py:789
+#: kallithea/lib/helpers.py:801
 msgid "[created] repository as fork"
 msgstr "[oprettet] repository som fork"
 
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
 msgid "[forked] repository"
 msgstr "[forked] repository"
 
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
 msgid "[updated] repository"
 msgstr "[opdateret] repository"
 
-#: kallithea/lib/helpers.py:795
+#: kallithea/lib/helpers.py:807
 msgid "[downloaded] archive from repository"
 msgstr "[hentet] arkiv fra repository"
 
-#: kallithea/lib/helpers.py:797
+#: kallithea/lib/helpers.py:809
 msgid "[delete] repository"
 msgstr "[slettet] repository"
 
-#: kallithea/lib/helpers.py:805
+#: kallithea/lib/helpers.py:817
 msgid "[created] user"
 msgstr "[oprettet] bruger"
 
-#: kallithea/lib/helpers.py:807
+#: kallithea/lib/helpers.py:819
 msgid "[updated] user"
 msgstr "[opdateret] bruger"
 
-#: kallithea/lib/helpers.py:809
+#: kallithea/lib/helpers.py:821
 msgid "[created] user group"
 msgstr "[oprettet] brugergruppe"
 
-#: kallithea/lib/helpers.py:811
+#: kallithea/lib/helpers.py:823
 msgid "[updated] user group"
 msgstr "[opdateret] brugergruppe"
 
-#: kallithea/lib/helpers.py:813
+#: kallithea/lib/helpers.py:825
 msgid "[commented] on revision in repository"
 msgstr "[kommenterede] på revision i repository"
 
-#: kallithea/lib/helpers.py:815
+#: kallithea/lib/helpers.py:827
 msgid "[commented] on pull request for"
 msgstr "[kommenterede] på pull-forespørgsel for"
 
-#: kallithea/lib/helpers.py:817
+#: kallithea/lib/helpers.py:829
 msgid "[closed] pull request for"
 msgstr "[lukket] pull-forespørgsel for"
 
-#: kallithea/lib/helpers.py:819
+#: kallithea/lib/helpers.py:831
 msgid "[pushed] into"
 msgstr "[pushed] ind i"
 
-#: kallithea/lib/helpers.py:821
+#: kallithea/lib/helpers.py:833
 msgid "[committed via Kallithea] into repository"
 msgstr "[committed via kallithea] ind i repository"
 
-#: kallithea/lib/helpers.py:823
+#: kallithea/lib/helpers.py:835
 msgid "[pulled from remote] into repository"
 msgstr "[pulled fra remote] ind i repository"
 
-#: kallithea/lib/helpers.py:825
+#: kallithea/lib/helpers.py:837
 msgid "[pulled] from"
 msgstr "[pulled] fra"
 
-#: kallithea/lib/helpers.py:827
+#: kallithea/lib/helpers.py:839
 msgid "[started following] repository"
 msgstr "[begyndt at følge] repository"
 
-#: kallithea/lib/helpers.py:829
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr "[stoppet at følge] repository"
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr " og %s flere"
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr "Ingen filer"
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr "ny fil"
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr "mod"
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr "del"
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr "omdøb"
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr "chmod"
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/de/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/de/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2019-05-29 22:52+0000\n"
 "Last-Translator: ssantos <ssantos@web.de>\n"
 "Language-Team: German <https://hosted.weblate.org/projects/kallithea/"
@@ -135,12 +135,12 @@
 "Aufgrund einer unerwarteten Gegebenheit konnte der Server diese Anfrage "
 "nicht vollenden."
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr "%s committed am %s"
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -150,12 +150,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr "Der Änderungssatz war zu groß und wurde abgeschnitten..."
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr "%s %s Feed"
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr "Änderungen im %s Repository"
@@ -433,38 +433,38 @@
 "Dieser Pull Request wurde geschlossen und kann daher nicht aktualisiert "
 "werden."
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, fuzzy, python-format
 #| msgid "The following changes are available on %s:"
 msgid "The following additional changes are available on %s:"
 msgstr "Die folgenden Änderungen sind verfügbar unter %s:"
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 #, fuzzy
 #| msgid "No changesets found for updating this pull request."
 msgid "No additional changesets found for iterating on this pull request."
 msgstr "Keine Changesets gefunden, um den Pull Request zu aktualisieren."
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr "Hinweis: Branch %s hat einen anderen Head: %s."
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 #, fuzzy
 #| msgid "Git pull requests don't support updates yet."
 msgid "Git pull requests don't support iterating yet."
 msgstr "Git Pull Request unterstützen bisher keine Updates."
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, fuzzy, python-format
 #| msgid "No changesets found for updating this pull request."
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr "Keine Changesets gefunden, um den Pull Request zu aktualisieren."
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 "Der diff kann nicht angezeigt werden. Die Pull Request Revisionen konnten "
@@ -483,12 +483,12 @@
 msgid "An error occurred during search operation."
 msgstr "Während der Suchoperation trat ein Fehler auf."
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr "Es stehen noch keine Daten zur Verfügung"
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr "Statistiken sind deaktiviert für dieses Repository"
@@ -920,7 +920,7 @@
 msgid "Updated VCS settings"
 msgstr "VCS-Einstellungen aktualisiert"
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1132,167 +1132,167 @@
 msgid "No changes detected"
 msgstr "Keine Änderungen erkannt"
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr "Branch %s gelöscht"
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr "Tag %s erstellt"
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, fuzzy, python-format
 #| msgid "Changeset not found"
 msgid "Changeset %s not found"
 msgstr "Änderungssatz nicht gefunden"
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr "Zeige alle Kombinierten Änderungensätze %s->%s"
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr "Vergleichsansicht"
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr "und"
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr "%s mehr"
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr "revisionen"
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr "Fork Name %s"
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr "Pull Request %s"
 
-#: kallithea/lib/helpers.py:785
+#: kallithea/lib/helpers.py:797
 msgid "[deleted] repository"
 msgstr "[gelöscht] Repository"
 
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
 msgid "[created] repository"
 msgstr "[erstellt] Repository"
 
-#: kallithea/lib/helpers.py:789
+#: kallithea/lib/helpers.py:801
 msgid "[created] repository as fork"
 msgstr "[erstellt] Repository als Fork"
 
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
 msgid "[forked] repository"
 msgstr "[forked] Repository"
 
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
 msgid "[updated] repository"
 msgstr "[aktualisiert] Repository"
 
-#: kallithea/lib/helpers.py:795
+#: kallithea/lib/helpers.py:807
 msgid "[downloaded] archive from repository"
 msgstr "Archiv von Repository [heruntergeladen]"
 
-#: kallithea/lib/helpers.py:797
+#: kallithea/lib/helpers.py:809
 msgid "[delete] repository"
 msgstr "Repository [gelöscht]"
 
-#: kallithea/lib/helpers.py:805
+#: kallithea/lib/helpers.py:817
 msgid "[created] user"
 msgstr "Benutzer [erstellt]"
 
-#: kallithea/lib/helpers.py:807
+#: kallithea/lib/helpers.py:819
 msgid "[updated] user"
 msgstr "Benutzer [akutalisiert]"
 
-#: kallithea/lib/helpers.py:809
+#: kallithea/lib/helpers.py:821
 msgid "[created] user group"
 msgstr "Benutzergruppe [erstellt]"
 
-#: kallithea/lib/helpers.py:811
+#: kallithea/lib/helpers.py:823
 msgid "[updated] user group"
 msgstr "Benutzergruppe [aktualisiert]"
 
-#: kallithea/lib/helpers.py:813
+#: kallithea/lib/helpers.py:825
 msgid "[commented] on revision in repository"
 msgstr "Revision [kommentiert] in Repository"
 
-#: kallithea/lib/helpers.py:815
+#: kallithea/lib/helpers.py:827
 msgid "[commented] on pull request for"
 msgstr "Pull Request [kommentiert] für"
 
-#: kallithea/lib/helpers.py:817
+#: kallithea/lib/helpers.py:829
 msgid "[closed] pull request for"
 msgstr "Pull Request [geschlossen] für"
 
-#: kallithea/lib/helpers.py:819
+#: kallithea/lib/helpers.py:831
 msgid "[pushed] into"
 msgstr "[Pushed] in"
 
-#: kallithea/lib/helpers.py:821
+#: kallithea/lib/helpers.py:833
 msgid "[committed via Kallithea] into repository"
 msgstr "[via Kallithea] in Repository [committed]"
 
-#: kallithea/lib/helpers.py:823
+#: kallithea/lib/helpers.py:835
 msgid "[pulled from remote] into repository"
 msgstr "[Pulled von Remote] in Repository"
 
-#: kallithea/lib/helpers.py:825
+#: kallithea/lib/helpers.py:837
 msgid "[pulled] from"
 msgstr "[Pulled] von"
 
-#: kallithea/lib/helpers.py:827
+#: kallithea/lib/helpers.py:839
 msgid "[started following] repository"
 msgstr "[Following gestartet] für Repository"
 
-#: kallithea/lib/helpers.py:829
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr "[Following gestoppt] für Repository"
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr " und %s weitere"
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr "Keine Dateien"
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr "neue Datei"
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr "mod"
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr "entf"
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr "umbenennen"
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr "chmod"
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/el/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/el/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2019-06-26 19:00+0000\n"
 "Last-Translator: THANOS SIOURDAKIS <siourdakisthanos@gmail.com>\n"
 "Language-Team: Greek <https://hosted.weblate.org/projects/kallithea/"
@@ -135,12 +135,12 @@
 "Ο εξυπηρετητής συνάντησε μια απρόσμενη κατάσταση που τον απέτρεψαν να "
 "πραγματοποιήσει την αίτηση."
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr "%s συνέβαλε στο %s"
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -150,12 +150,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr "Το σετ αλλαγών ήταν πολύ μεγάλο και περικόπηκε..."
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr "%s %s τροφοδοσία"
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr "Αλλαγές στο αποθετήριο %s"
@@ -434,38 +434,38 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr "Αυτό το αίτημα έλξης έχει κλείσει και δεν μπορεί να ενημερωθεί."
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, fuzzy, python-format
 #| msgid "The following changes are available on %s:"
 msgid "The following additional changes are available on %s:"
 msgstr "Οι ακόλουθες αλλαγές είναι διαθέσιμες στο %s:"
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 #, fuzzy
 #| msgid "No changesets found for updating this pull request."
 msgid "No additional changesets found for iterating on this pull request."
 msgstr "Δεν βρέθηκαν σετ αλλαγών για ενημέρωση αυτού του αιτήματος έλξης."
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr "Σημείωση: Ο κλάδος %s έχει άλλη κεφαλή (head): %s."
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 #, fuzzy
 #| msgid "Git pull requests don't support updates yet."
 msgid "Git pull requests don't support iterating yet."
 msgstr "Αιτήματα έλξης του git δεν υποστηρίζουν ακόμα ενημερώσεις."
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, fuzzy, python-format
 #| msgid "No changesets found for updating this pull request."
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr "Δεν βρέθηκαν σετ αλλαγών για ενημέρωση αυτού του αιτήματος έλξης."
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -481,12 +481,12 @@
 msgid "An error occurred during search operation."
 msgstr "Ένα λάθος συνέβη κατά την διαδικασία αναζήτησης."
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr "Δεν υπάρχουν ακόμα έτοιμα δεδομένα"
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr "Τα στατιστικά είναι απενεργοποιημένα για αυτό το αποθετήριο"
@@ -916,7 +916,7 @@
 msgid "Updated VCS settings"
 msgstr ""
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1108,166 +1108,166 @@
 msgid "No changes detected"
 msgstr ""
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, python-format
 msgid "Changeset %s not found"
 msgstr ""
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr ""
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr ""
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr ""
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:785
-msgid "[deleted] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
-msgid "[created] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:789
-msgid "[created] repository as fork"
-msgstr ""
-
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
-msgid "[forked] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
-msgid "[updated] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:795
-msgid "[downloaded] archive from repository"
-msgstr ""
-
 #: kallithea/lib/helpers.py:797
-msgid "[delete] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:805
-msgid "[created] user"
+msgid "[deleted] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
+msgid "[created] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:801
+msgid "[created] repository as fork"
+msgstr ""
+
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
+msgid "[forked] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
+msgid "[updated] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:807
-msgid "[updated] user"
+msgid "[downloaded] archive from repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:809
-msgid "[created] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:811
-msgid "[updated] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:813
-msgid "[commented] on revision in repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:815
-msgid "[commented] on pull request for"
+msgid "[delete] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:817
-msgid "[closed] pull request for"
+msgid "[created] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:819
-msgid "[pushed] into"
+msgid "[updated] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:821
-msgid "[committed via Kallithea] into repository"
+msgid "[created] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:823
-msgid "[pulled from remote] into repository"
+msgid "[updated] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:825
-msgid "[pulled] from"
+msgid "[commented] on revision in repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:827
-msgid "[started following] repository"
+msgid "[commented] on pull request for"
 msgstr ""
 
 #: kallithea/lib/helpers.py:829
+msgid "[closed] pull request for"
+msgstr ""
+
+#: kallithea/lib/helpers.py:831
+msgid "[pushed] into"
+msgstr ""
+
+#: kallithea/lib/helpers.py:833
+msgid "[committed via Kallithea] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:835
+msgid "[pulled from remote] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:837
+msgid "[pulled] from"
+msgstr ""
+
+#: kallithea/lib/helpers.py:839
+msgid "[started following] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr ""
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr ""
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr ""
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr ""
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/es/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/es/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2018-04-18 11:43+0000\n"
 "Last-Translator: Jesús Sánchez <jsanchezfdz95@gmail.com>\n"
 "Language-Team: Spanish <https://hosted.weblate.org/projects/kallithea/"
@@ -128,12 +128,12 @@
 "La petición no se ha podido completar debido a que el servidor encontró "
 "un problema inesperado."
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr "%s anotó en %s"
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -143,12 +143,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr "El cambio era demasiado grande y se redució..."
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr "%s%s canal"
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, fuzzy, python-format
 msgid "Changes on %s repository"
 msgstr "Cambios en %s repositorio"
@@ -424,38 +424,38 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr "La petición pull esta cerrada y no se puede actualizar."
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, fuzzy, python-format
 #| msgid "The following changes are available on %s:"
 msgid "The following additional changes are available on %s:"
 msgstr "Los siguientes cambios están disponibles en %s:"
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 #, fuzzy
 #| msgid "No changesets found for updating this pull request."
 msgid "No additional changesets found for iterating on this pull request."
 msgstr "No se encontraron cambios para actualizar la petición pull."
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, fuzzy, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr "Nota: la rama %s tiene otro head: %s."
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 #, fuzzy
 #| msgid "Git pull requests don't support updates yet."
 msgid "Git pull requests don't support iterating yet."
 msgstr "La peticiones pull de Git aún no soportan actualizaciones."
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, fuzzy, python-format
 #| msgid "No changesets found for updating this pull request."
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr "No se encontraron cambios para actualizar la petición pull."
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -471,12 +471,12 @@
 msgid "An error occurred during search operation."
 msgstr "Ocurrió un error mientras se ejecutaba la búsqueda."
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr "Todavía no hay datos disponibles"
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr "Las estadísticas están deshabilitadas en este repositorio"
@@ -901,7 +901,7 @@
 msgid "Updated VCS settings"
 msgstr ""
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1092,166 +1092,166 @@
 msgid "No changes detected"
 msgstr ""
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, python-format
 msgid "Changeset %s not found"
 msgstr ""
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr ""
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr ""
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr ""
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:785
-msgid "[deleted] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
-msgid "[created] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:789
-msgid "[created] repository as fork"
-msgstr ""
-
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
-msgid "[forked] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
-msgid "[updated] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:795
-msgid "[downloaded] archive from repository"
-msgstr ""
-
 #: kallithea/lib/helpers.py:797
-msgid "[delete] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:805
-msgid "[created] user"
+msgid "[deleted] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
+msgid "[created] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:801
+msgid "[created] repository as fork"
+msgstr ""
+
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
+msgid "[forked] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
+msgid "[updated] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:807
-msgid "[updated] user"
+msgid "[downloaded] archive from repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:809
-msgid "[created] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:811
-msgid "[updated] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:813
-msgid "[commented] on revision in repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:815
-msgid "[commented] on pull request for"
+msgid "[delete] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:817
-msgid "[closed] pull request for"
+msgid "[created] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:819
-msgid "[pushed] into"
+msgid "[updated] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:821
-msgid "[committed via Kallithea] into repository"
+msgid "[created] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:823
-msgid "[pulled from remote] into repository"
+msgid "[updated] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:825
-msgid "[pulled] from"
+msgid "[commented] on revision in repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:827
-msgid "[started following] repository"
+msgid "[commented] on pull request for"
 msgstr ""
 
 #: kallithea/lib/helpers.py:829
+msgid "[closed] pull request for"
+msgstr ""
+
+#: kallithea/lib/helpers.py:831
+msgid "[pushed] into"
+msgstr ""
+
+#: kallithea/lib/helpers.py:833
+msgid "[committed via Kallithea] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:835
+msgid "[pulled from remote] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:837
+msgid "[pulled] from"
+msgstr ""
+
+#: kallithea/lib/helpers.py:839
+msgid "[started following] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr ""
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr ""
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr ""
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr ""
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/fr/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/fr/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2019-10-13 16:52+0000\n"
 "Last-Translator: Nathan <bonnemainsnathan@gmail.com>\n"
 "Language-Team: French <https://hosted.weblate.org/projects/kallithea/"
@@ -126,12 +126,12 @@
 "La requête n’a pu être traitée en raison d’une erreur survenue sur le "
 "serveur."
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr "%s a commité, le %s"
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -141,12 +141,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr "Cet ensemble de changements était trop important et a été découpé…"
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr "Flux %s de %s"
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr "Changements sur le dépôt %s"
@@ -422,28 +422,28 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr "Cette pull request a été fermée et ne peut pas être mise à jour."
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr ""
 "Les modifications additionnelles suivantes sont disponibles sur %s :"
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 msgid "No additional changesets found for iterating on this pull request."
 msgstr "Pas de changeset additionnel trouvé pour cette requête de pull."
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr "Note : La branche %s a une autre tête : %s."
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 msgid "Git pull requests don't support iterating yet."
 msgstr ""
 "Les itérations des requêtes de pull Git ne sont pas encore supportées."
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, python-format
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
@@ -451,7 +451,7 @@
 "Erreur : certains changesets n'ont pas été trouvés lors de l'affichage la "
 "requête de pull depuis %s."
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 "Le diff ne peut pas être affiché : révisions des requêtes de pull "
@@ -469,12 +469,12 @@
 msgid "An error occurred during search operation."
 msgstr "Une erreur est survenue pendant la recherche."
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr "Aucune donnée actuellement disponible"
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr "La mise à jour des statistiques est désactivée pour ce dépôt"
@@ -911,7 +911,7 @@
 msgid "Updated VCS settings"
 msgstr "Réglages des gestionnaires de versions mis à jour"
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1118,166 +1118,166 @@
 msgid "No changes detected"
 msgstr "Aucun changement détecté"
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr "Branche supprimée : %s"
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr "Étiquette créée : %s"
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, python-format
 msgid "Changeset %s not found"
 msgstr "Ensemble de changements %s non trouvé"
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr "Afficher les changements combinés %s->%s"
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr "Vue de comparaison"
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr "et"
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr "%s de plus"
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr "révisions"
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr "Nom du fork %s"
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr "Requête de pull %s"
 
-#: kallithea/lib/helpers.py:785
+#: kallithea/lib/helpers.py:797
 msgid "[deleted] repository"
 msgstr "[a supprimé] le dépôt"
 
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
 msgid "[created] repository"
 msgstr "[a créé] le dépôt"
 
-#: kallithea/lib/helpers.py:789
+#: kallithea/lib/helpers.py:801
 msgid "[created] repository as fork"
 msgstr "[a créé] le dépôt en tant que fork"
 
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
 msgid "[forked] repository"
 msgstr "[a forké] le dépôt"
 
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
 msgid "[updated] repository"
 msgstr "[a mis à jour] le dépôt"
 
-#: kallithea/lib/helpers.py:795
+#: kallithea/lib/helpers.py:807
 msgid "[downloaded] archive from repository"
 msgstr "[téléchargée] archive depuis le dépôt"
 
-#: kallithea/lib/helpers.py:797
+#: kallithea/lib/helpers.py:809
 msgid "[delete] repository"
 msgstr "[a supprimé] le dépôt"
 
-#: kallithea/lib/helpers.py:805
+#: kallithea/lib/helpers.py:817
 msgid "[created] user"
 msgstr "[a créé] l’utilisateur"
 
-#: kallithea/lib/helpers.py:807
+#: kallithea/lib/helpers.py:819
 msgid "[updated] user"
 msgstr "[a mis à jour] l’utilisateur"
 
-#: kallithea/lib/helpers.py:809
+#: kallithea/lib/helpers.py:821
 msgid "[created] user group"
 msgstr "[créé] groupe d'utilisateurs"
 
-#: kallithea/lib/helpers.py:811
+#: kallithea/lib/helpers.py:823
 msgid "[updated] user group"
 msgstr "[mis à jour] groupe d'utilisateurs"
 
-#: kallithea/lib/helpers.py:813
+#: kallithea/lib/helpers.py:825
 msgid "[commented] on revision in repository"
 msgstr "[a commenté] une révision du dépôt"
 
-#: kallithea/lib/helpers.py:815
+#: kallithea/lib/helpers.py:827
 msgid "[commented] on pull request for"
 msgstr "[a commenté] la requête de pull pour"
 
-#: kallithea/lib/helpers.py:817
+#: kallithea/lib/helpers.py:829
 msgid "[closed] pull request for"
 msgstr "[a fermé] la requête de pull de"
 
-#: kallithea/lib/helpers.py:819
+#: kallithea/lib/helpers.py:831
 msgid "[pushed] into"
 msgstr "[a pushé] dans"
 
-#: kallithea/lib/helpers.py:821
+#: kallithea/lib/helpers.py:833
 msgid "[committed via Kallithea] into repository"
 msgstr "[a commité via Kallithea] dans le dépôt"
 
-#: kallithea/lib/helpers.py:823
+#: kallithea/lib/helpers.py:835
 msgid "[pulled from remote] into repository"
 msgstr "[a pullé depuis un site distant] dans le dépôt"
 
-#: kallithea/lib/helpers.py:825
+#: kallithea/lib/helpers.py:837
 msgid "[pulled] from"
 msgstr "[a pullé] depuis"
 
-#: kallithea/lib/helpers.py:827
+#: kallithea/lib/helpers.py:839
 msgid "[started following] repository"
 msgstr "[suit maintenant] le dépôt"
 
-#: kallithea/lib/helpers.py:829
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr "[ne suit plus] le dépôt"
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr " et %s de plus"
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr "Aucun fichier"
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr "nouveau fichier"
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr "mod"
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr "suppr."
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr "renommer"
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr "chmod"
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/hu/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/hu/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2015-04-11 00:59+0200\n"
 "Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
 "Language-Team: Hungarian <https://hosted.weblate.org/projects/kallithea/"
@@ -123,12 +123,12 @@
 "fulfilling the request."
 msgstr ""
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr ""
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -138,12 +138,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr ""
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr ""
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr ""
@@ -410,32 +410,32 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 msgid "No additional changesets found for iterating on this pull request."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 msgid "Git pull requests don't support iterating yet."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, python-format
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -451,12 +451,12 @@
 msgid "An error occurred during search operation."
 msgstr ""
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr ""
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr ""
@@ -878,7 +878,7 @@
 msgid "Updated VCS settings"
 msgstr ""
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1068,166 +1068,166 @@
 msgid "No changes detected"
 msgstr ""
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, python-format
 msgid "Changeset %s not found"
 msgstr ""
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr ""
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr ""
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr ""
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:785
-msgid "[deleted] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
-msgid "[created] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:789
-msgid "[created] repository as fork"
-msgstr ""
-
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
-msgid "[forked] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
-msgid "[updated] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:795
-msgid "[downloaded] archive from repository"
-msgstr ""
-
 #: kallithea/lib/helpers.py:797
-msgid "[delete] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:805
-msgid "[created] user"
+msgid "[deleted] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
+msgid "[created] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:801
+msgid "[created] repository as fork"
+msgstr ""
+
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
+msgid "[forked] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
+msgid "[updated] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:807
-msgid "[updated] user"
+msgid "[downloaded] archive from repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:809
-msgid "[created] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:811
-msgid "[updated] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:813
-msgid "[commented] on revision in repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:815
-msgid "[commented] on pull request for"
+msgid "[delete] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:817
-msgid "[closed] pull request for"
+msgid "[created] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:819
-msgid "[pushed] into"
+msgid "[updated] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:821
-msgid "[committed via Kallithea] into repository"
+msgid "[created] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:823
-msgid "[pulled from remote] into repository"
+msgid "[updated] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:825
-msgid "[pulled] from"
+msgid "[commented] on revision in repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:827
-msgid "[started following] repository"
+msgid "[commented] on pull request for"
 msgstr ""
 
 #: kallithea/lib/helpers.py:829
+msgid "[closed] pull request for"
+msgstr ""
+
+#: kallithea/lib/helpers.py:831
+msgid "[pushed] into"
+msgstr ""
+
+#: kallithea/lib/helpers.py:833
+msgid "[committed via Kallithea] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:835
+msgid "[pulled from remote] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:837
+msgid "[pulled] from"
+msgstr ""
+
+#: kallithea/lib/helpers.py:839
+msgid "[started following] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr ""
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr ""
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr ""
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr ""
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/ja/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/ja/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2019-08-27 07:23+0000\n"
 "Last-Translator: leela <53352@protonmail.com>\n"
 "Language-Team: Japanese <https://hosted.weblate.org/projects/kallithea/"
@@ -130,12 +130,12 @@
 "サーバーが不正な状態になったため、リクエストに答えることができませんでし"
 "た。"
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr "%s が %s にコミット"
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -145,12 +145,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr "チェンジセットが大きすぎるため、省略しました..."
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr "%s %s フィード"
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr "%s リポジトリでの変更"
@@ -425,37 +425,37 @@
 msgstr ""
 "このプルリクエストはすでにクローズされていて、更新することはできません。"
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 #, fuzzy
 #| msgid "No changesets found for updating this pull request."
 msgid "No additional changesets found for iterating on this pull request."
 msgstr "プルリクエストを更新するためのチェンジセットが見つかりません。"
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr "ノート: ブランチ%sには別のヘッド%sがあります。"
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 #, fuzzy
 #| msgid "Git pull requests don't support updates yet."
 msgid "Git pull requests don't support iterating yet."
 msgstr "Gitのプルリクエストはまだ更新をサポートしていません。"
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, fuzzy, python-format
 #| msgid "No changesets found for updating this pull request."
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr "プルリクエストを更新するためのチェンジセットが見つかりません。"
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -471,12 +471,12 @@
 msgid "An error occurred during search operation."
 msgstr "検索を実行する際にエラーが発生しました。"
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr "まだデータの準備ができていません"
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr "このリポジトリの統計は無効化されています"
@@ -903,7 +903,7 @@
 msgid "Updated VCS settings"
 msgstr "VCS設定を更新しました"
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1103,167 +1103,167 @@
 msgid "No changes detected"
 msgstr "検出された変更はありません"
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr "削除されたブランチ: %s"
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr "作成したタグ: %s"
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, fuzzy, python-format
 #| msgid "Changeset not found"
 msgid "Changeset %s not found"
 msgstr "リビジョンが見つかりません"
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr "%s から %s までのすべてのチェンジセットを表示"
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr "比較ビュー"
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr "と"
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr "%s 以上"
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr "リビジョン"
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr "フォーク名 %s"
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr "プルリクエスト #%s"
 
-#: kallithea/lib/helpers.py:785
+#: kallithea/lib/helpers.py:797
 msgid "[deleted] repository"
 msgstr "リポジトリを[削除]"
 
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
 msgid "[created] repository"
 msgstr "リポジトリを[作成]"
 
-#: kallithea/lib/helpers.py:789
+#: kallithea/lib/helpers.py:801
 msgid "[created] repository as fork"
 msgstr "フォークしてリポジトリを[作成]"
 
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
 msgid "[forked] repository"
 msgstr "リポジトリを[フォーク]"
 
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
 msgid "[updated] repository"
 msgstr "リポジトリを[更新]"
 
-#: kallithea/lib/helpers.py:795
+#: kallithea/lib/helpers.py:807
 msgid "[downloaded] archive from repository"
 msgstr "リポジトリからアーカイブを[ダウンロード]"
 
-#: kallithea/lib/helpers.py:797
+#: kallithea/lib/helpers.py:809
 msgid "[delete] repository"
 msgstr "リポジトリを[削除]"
 
-#: kallithea/lib/helpers.py:805
+#: kallithea/lib/helpers.py:817
 msgid "[created] user"
 msgstr "ユーザーを[作成]"
 
-#: kallithea/lib/helpers.py:807
+#: kallithea/lib/helpers.py:819
 msgid "[updated] user"
 msgstr "ユーザーを[更新]"
 
-#: kallithea/lib/helpers.py:809
+#: kallithea/lib/helpers.py:821
 msgid "[created] user group"
 msgstr "ユーザーグループを[作成]"
 
-#: kallithea/lib/helpers.py:811
+#: kallithea/lib/helpers.py:823
 msgid "[updated] user group"
 msgstr "ユーザーグループを[更新]"
 
-#: kallithea/lib/helpers.py:813
+#: kallithea/lib/helpers.py:825
 msgid "[commented] on revision in repository"
 msgstr "リポジトリのリビジョンに[コメント]"
 
-#: kallithea/lib/helpers.py:815
+#: kallithea/lib/helpers.py:827
 msgid "[commented] on pull request for"
 msgstr "プルリクエストに[コメント]"
 
-#: kallithea/lib/helpers.py:817
+#: kallithea/lib/helpers.py:829
 msgid "[closed] pull request for"
 msgstr "プルリクエストを[クローズ]"
 
-#: kallithea/lib/helpers.py:819
+#: kallithea/lib/helpers.py:831
 msgid "[pushed] into"
 msgstr "[プッシュ]"
 
-#: kallithea/lib/helpers.py:821
+#: kallithea/lib/helpers.py:833
 msgid "[committed via Kallithea] into repository"
 msgstr "リポジトリに[Kallithea経由でコミット]"
 
-#: kallithea/lib/helpers.py:823
+#: kallithea/lib/helpers.py:835
 msgid "[pulled from remote] into repository"
 msgstr "リポジトリに[リモートからプル]"
 
-#: kallithea/lib/helpers.py:825
+#: kallithea/lib/helpers.py:837
 msgid "[pulled] from"
 msgstr "[プル]"
 
-#: kallithea/lib/helpers.py:827
+#: kallithea/lib/helpers.py:839
 msgid "[started following] repository"
 msgstr "リポジトリの[フォローを開始]"
 
-#: kallithea/lib/helpers.py:829
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr "リポジトリの[フォローを停止]"
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr " と %s 以上"
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr "ファイルはありません"
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr "新しいファイル"
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr "変更"
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr "削除"
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr "リネーム"
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr "chmod"
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/kallithea.pot	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/kallithea.pot	Thu Nov 14 23:36:16 2019 +0100
@@ -8,14 +8,14 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.4.99\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.6.0\n"
+"Generated-By: Babel 2.7.0\n"
 
 #: kallithea/controllers/changelog.py:67
 #: kallithea/controllers/pullrequests.py:250 kallithea/lib/base.py:602
@@ -116,15 +116,17 @@
 msgstr ""
 
 #: kallithea/controllers/error.py:94
-msgid "The server encountered an unexpected condition which prevented it from fulfilling the request."
-msgstr ""
-
-#: kallithea/controllers/feed.py:64
+msgid ""
+"The server encountered an unexpected condition which prevented it from "
+"fulfilling the request."
+msgstr ""
+
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr ""
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -134,12 +136,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr ""
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr ""
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr ""
@@ -405,31 +407,31 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 msgid "No additional changesets found for iterating on this pull request."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 msgid "Git pull requests don't support iterating yet."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, python-format
 msgid "Error: some changesets not found when displaying pull request from %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -445,12 +447,12 @@
 msgid "An error occurred during search operation."
 msgstr ""
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr ""
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr ""
@@ -872,8 +874,10 @@
 msgid "Updated VCS settings"
 msgstr ""
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
-msgid "Unable to activate hgsubversion support. The \"hgsubversion\" library is missing"
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
+msgid ""
+"Unable to activate hgsubversion support. The \"hgsubversion\" library is "
+"missing"
 msgstr ""
 
 #: kallithea/controllers/admin/settings.py:141
@@ -1057,167 +1061,170 @@
 msgid "No changes detected"
 msgstr ""
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, python-format
 msgid "Changeset %s not found"
 msgstr ""
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr ""
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr ""
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:730 kallithea/templates/changelog/changelog.html:43
+#: kallithea/lib/helpers.py:742 kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr ""
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:785
-msgid "[deleted] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
-msgid "[created] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:789
-msgid "[created] repository as fork"
-msgstr ""
-
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
-msgid "[forked] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
-msgid "[updated] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:795
-msgid "[downloaded] archive from repository"
-msgstr ""
-
 #: kallithea/lib/helpers.py:797
-msgid "[delete] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:805
-msgid "[created] user"
+msgid "[deleted] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
+msgid "[created] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:801
+msgid "[created] repository as fork"
+msgstr ""
+
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
+msgid "[forked] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
+msgid "[updated] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:807
-msgid "[updated] user"
+msgid "[downloaded] archive from repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:809
-msgid "[created] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:811
-msgid "[updated] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:813
-msgid "[commented] on revision in repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:815
-msgid "[commented] on pull request for"
+msgid "[delete] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:817
-msgid "[closed] pull request for"
+msgid "[created] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:819
-msgid "[pushed] into"
+msgid "[updated] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:821
-msgid "[committed via Kallithea] into repository"
+msgid "[created] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:823
-msgid "[pulled from remote] into repository"
+msgid "[updated] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:825
-msgid "[pulled] from"
+msgid "[commented] on revision in repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:827
-msgid "[started following] repository"
+msgid "[commented] on pull request for"
 msgstr ""
 
 #: kallithea/lib/helpers.py:829
+msgid "[closed] pull request for"
+msgstr ""
+
+#: kallithea/lib/helpers.py:831
+msgid "[pushed] into"
+msgstr ""
+
+#: kallithea/lib/helpers.py:833
+msgid "[committed via Kallithea] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:835
+msgid "[pulled from remote] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:837
+msgid "[pulled] from"
+msgstr ""
+
+#: kallithea/lib/helpers.py:839
+msgid "[started following] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr ""
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr ""
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr ""
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr ""
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:1285
-#, python-format
-msgid "%s repository is not mapped to db perhaps it was created or renamed from the filesystem please run the application again in order to rescan repositories"
+#: kallithea/lib/helpers.py:1297
+#, python-format
+msgid ""
+"%s repository is not mapped to db perhaps it was created or renamed from "
+"the filesystem please run the application again in order to rescan "
+"repositories"
 msgstr ""
 
 #: kallithea/lib/ssh.py:71
@@ -1470,7 +1477,9 @@
 
 #: kallithea/model/notification.py:164
 #, python-format
-msgid "[Comment] %(repo_name)s changeset %(short_id)s \"%(message_short)s\" on %(branch)s"
+msgid ""
+"[Comment] %(repo_name)s changeset %(short_id)s \"%(message_short)s\" on "
+"%(branch)s"
 msgstr ""
 
 #: kallithea/model/notification.py:167
@@ -1480,12 +1489,16 @@
 
 #: kallithea/model/notification.py:169
 #, python-format
-msgid "[Review] %(repo_name)s PR %(pr_nice_id)s \"%(pr_title_short)s\" from %(pr_source_branch)s by %(pr_owner_username)s"
+msgid ""
+"[Review] %(repo_name)s PR %(pr_nice_id)s \"%(pr_title_short)s\" from "
+"%(pr_source_branch)s by %(pr_owner_username)s"
 msgstr ""
 
 #: kallithea/model/notification.py:170
 #, python-format
-msgid "[Comment] %(repo_name)s PR %(pr_nice_id)s \"%(pr_title_short)s\" from %(pr_source_branch)s by %(pr_owner_username)s"
+msgid ""
+"[Comment] %(repo_name)s PR %(pr_nice_id)s \"%(pr_title_short)s\" from "
+"%(pr_source_branch)s by %(pr_owner_username)s"
 msgstr ""
 
 #: kallithea/model/notification.py:183
@@ -1503,7 +1516,9 @@
 
 #: kallithea/model/pull_request.py:217
 #, python-format
-msgid "Cannot create pull request - criss cross merge detected, please merge a later %s revision to %s"
+msgid ""
+"Cannot create pull request - criss cross merge detected, please merge a "
+"later %s revision to %s"
 msgstr ""
 
 #: kallithea/model/pull_request.py:245 kallithea/model/pull_request.py:380
@@ -1525,7 +1540,9 @@
 
 #: kallithea/model/pull_request.py:360
 #, python-format
-msgid "This iteration is based on another %s revision and there is no simple diff."
+msgid ""
+"This iteration is based on another %s revision and there is no simple "
+"diff."
 msgstr ""
 
 #: kallithea/model/pull_request.py:362
@@ -1567,17 +1584,23 @@
 
 #: kallithea/model/user.py:255
 #, python-format
-msgid "User \"%s\" still owns %s repositories and cannot be removed. Switch owners or remove those repositories: %s"
+msgid ""
+"User \"%s\" still owns %s repositories and cannot be removed. Switch "
+"owners or remove those repositories: %s"
 msgstr ""
 
 #: kallithea/model/user.py:260
 #, python-format
-msgid "User \"%s\" still owns %s repository groups and cannot be removed. Switch owners or remove those repository groups: %s"
+msgid ""
+"User \"%s\" still owns %s repository groups and cannot be removed. Switch"
+" owners or remove those repository groups: %s"
 msgstr ""
 
 #: kallithea/model/user.py:267
 #, python-format
-msgid "User \"%s\" still owns %s user groups and cannot be removed. Switch owners or remove those user groups: %s"
+msgid ""
+"User \"%s\" still owns %s user groups and cannot be removed. Switch "
+"owners or remove those user groups: %s"
 msgstr ""
 
 #: kallithea/model/user.py:361
@@ -1590,7 +1613,9 @@
 
 #: kallithea/model/user.py:409
 #, python-format
-msgid "The password to your account %s has been changed using password reset form."
+msgid ""
+"The password to your account %s has been changed using password reset "
+"form."
 msgstr ""
 
 #: kallithea/model/validators.py:52 kallithea/model/validators.py:53
@@ -1608,7 +1633,9 @@
 msgstr ""
 
 #: kallithea/model/validators.py:76
-msgid "Username may only contain alphanumeric characters underscores, periods or dashes and must begin with an alphanumeric character or underscore"
+msgid ""
+"Username may only contain alphanumeric characters underscores, periods or"
+" dashes and must begin with an alphanumeric character or underscore"
 msgstr ""
 
 #: kallithea/model/validators.py:103
@@ -1630,7 +1657,9 @@
 msgstr ""
 
 #: kallithea/model/validators.py:134
-msgid "user group name may only contain alphanumeric characters underscores, periods or dashes and must begin with alphanumeric character"
+msgid ""
+"user group name may only contain alphanumeric characters underscores, "
+"periods or dashes and must begin with alphanumeric character"
 msgstr ""
 
 #: kallithea/model/validators.py:174
@@ -1688,7 +1717,9 @@
 msgstr ""
 
 #: kallithea/model/validators.py:405
-msgid "Invalid repository URL. It must be a valid http, https, ssh, svn+http or svn+https URL"
+msgid ""
+"Invalid repository URL. It must be a valid http, https, ssh, svn+http or "
+"svn+https URL"
 msgstr ""
 
 #: kallithea/model/validators.py:430
@@ -1725,7 +1756,9 @@
 msgstr ""
 
 #: kallithea/model/validators.py:704
-msgid "The LDAP Login attribute of the CN must be specified - this is the name of the attribute that is equivalent to \"username\""
+msgid ""
+"The LDAP Login attribute of the CN must be specified - this is the name "
+"of the attribute that is equivalent to \"username\""
 msgstr ""
 
 #: kallithea/model/validators.py:716
@@ -1912,7 +1945,9 @@
 msgstr ""
 
 #: kallithea/templates/password_reset.html:52
-msgid "A password reset link will be sent to the specified email address if it is registered in the system."
+msgid ""
+"A password reset link will be sent to the specified email address if it "
+"is registered in the system."
 msgstr ""
 
 #: kallithea/templates/password_reset_confirmation.html:23
@@ -1921,7 +1956,9 @@
 msgstr ""
 
 #: kallithea/templates/password_reset_confirmation.html:24
-msgid "Note that you must use the same browser session for this as the one used to request the password reset."
+msgid ""
+"Note that you must use the same browser session for this as the one used "
+"to request the password reset."
 msgstr ""
 
 #: kallithea/templates/password_reset_confirmation.html:29
@@ -2053,7 +2090,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/auth/auth_settings.html:32
-msgid "Comma-separated list of plugins; Kallithea will try user authentication in plugin order"
+msgid ""
+"Comma-separated list of plugins; Kallithea will try user authentication "
+"in plugin order"
 msgstr ""
 
 #: kallithea/templates/admin/auth/auth_settings.html:36
@@ -2107,7 +2146,9 @@
 #: kallithea/templates/admin/repos/repo_add_base.html:59
 #: kallithea/templates/admin/repos/repo_edit_settings.html:65
 #: kallithea/templates/forks/fork.html:61
-msgid "Private repositories are only visible to people explicitly added as collaborators."
+msgid ""
+"Private repositories are only visible to people explicitly added as "
+"collaborators."
 msgstr ""
 
 #: kallithea/templates/admin/defaults/defaults.html:42
@@ -2137,7 +2178,9 @@
 
 #: kallithea/templates/admin/gists/edit.html:35
 #, python-format
-msgid "Gist was updated since you started editing. Copy your changes and click %(here)s to reload new version."
+msgid ""
+"Gist was updated since you started editing. Copy your changes and click "
+"%(here)s to reload new version."
 msgstr ""
 
 #: kallithea/templates/admin/gists/edit.html:36
@@ -2605,11 +2648,16 @@
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:10
 #, python-format
-msgid "Allow access to Kallithea without needing to log in. Anonymous users use %s user permissions."
+msgid ""
+"Allow access to Kallithea without needing to log in. Anonymous users use "
+"%s user permissions."
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:19
-msgid "All default permissions on each repository will be reset to chosen permission, note that all custom default permission on repositories will be lost"
+msgid ""
+"All default permissions on each repository will be reset to chosen "
+"permission, note that all custom default permission on repositories will "
+"be lost"
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:20
@@ -2629,7 +2677,10 @@
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:32
-msgid "All default permissions on each repository group will be reset to chosen permission, note that all custom default permission on repository groups will be lost"
+msgid ""
+"All default permissions on each repository group will be reset to chosen "
+"permission, note that all custom default permission on repository groups "
+"will be lost"
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:33
@@ -2646,7 +2697,10 @@
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:45
-msgid "All default permissions on each user group will be reset to chosen permission, note that all custom default permission on user groups will be lost"
+msgid ""
+"All default permissions on each user group will be reset to chosen "
+"permission, note that all custom default permission on user groups will "
+"be lost"
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:46
@@ -2666,7 +2720,9 @@
 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."
+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
@@ -2674,7 +2730,10 @@
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:64
-msgid "With this, write permission to a repository group allows creating repositories inside that group. Without this, group write permissions mean nothing."
+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
@@ -2869,7 +2928,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repo_groups/repo_group_edit_perms.html:92
-msgid "Set or revoke permission to all children of that group, including non-private repositories and other groups if selected."
+msgid ""
+"Set or revoke permission to all children of that group, including non-"
+"private repositories and other groups if selected."
 msgstr ""
 
 #: kallithea/templates/admin/repo_groups/repo_group_edit_settings.html:38
@@ -2898,7 +2959,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_add_base.html:16
-msgid "Optional: URL of a remote repository. If set, the repository will be created as a clone from this URL."
+msgid ""
+"Optional: URL of a remote repository. If set, the repository will be "
+"created as a clone from this URL."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_add_base.html:24
@@ -2924,7 +2987,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_add_base.html:52
-msgid "Default revision for files page, downloads, full text search index and readme generation"
+msgid ""
+"Default revision for files page, downloads, full text search index and "
+"readme generation"
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_creating.html:9
@@ -2938,11 +3003,15 @@
 
 #: kallithea/templates/admin/repos/repo_creating.html:27
 #, python-format
-msgid "Repository \"%(repo_name)s\" is being created, you will be redirected when this process is finished.repo_name"
+msgid ""
+"Repository \"%(repo_name)s\" is being created, you will be redirected "
+"when this process is finished.repo_name"
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_creating.html:39
-msgid "We're sorry but error occurred during this operation. Please check your Kallithea server logs, or contact administrator."
+msgid ""
+"We're sorry but error occurred during this operation. Please check your "
+"Kallithea server logs, or contact administrator."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit.html:8
@@ -2994,7 +3063,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_advanced.html:37
-msgid "All actions done in this repository will be visible to everyone in the public journal."
+msgid ""
+"All actions done in this repository will be visible to everyone in the "
+"public journal."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_advanced.html:46
@@ -3023,7 +3094,10 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_advanced.html:62
-msgid "The deleted repository will be moved away and hidden until the administrator expires it. The administrator can both permanently delete it or restore it."
+msgid ""
+"The deleted repository will be moved away and hidden until the "
+"administrator expires it. The administrator can both permanently delete "
+"it or restore it."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_caches.html:4
@@ -3031,7 +3105,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_caches.html:6
-msgid "Manually invalidate cache for this repository. On first access, the repository will be cached again."
+msgid ""
+"Manually invalidate cache for this repository. On first access, the "
+"repository will be cached again."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_caches.html:9
@@ -3120,9 +3196,12 @@
 
 #: kallithea/templates/admin/repos/repo_edit_settings.html:14
 msgid ""
-"In case this repository is renamed or moved into another group the repository URL changes.\n"
-"                               Using the above permanent URL guarantees that this repository always will be accessible on that URL.\n"
-"                               This is useful for CI systems, or any other cases that you need to hardcode the URL into a 3rd party service."
+"In case this repository is renamed or moved into another group the "
+"repository URL changes.\n"
+"                               Using the above permanent URL guarantees "
+"that this repository always will be accessible on that URL.\n"
+"                               This is useful for CI systems, or any "
+"other cases that you need to hardcode the URL into a 3rd party service."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_settings.html:21
@@ -3134,7 +3213,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_settings.html:28
-msgid "Optional: URL of a remote repository. If set, the repository can be pulled from this URL."
+msgid ""
+"Optional: URL of a remote repository. If set, the repository can be "
+"pulled from this URL."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_settings.html:43
@@ -3228,7 +3309,12 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_global.html:22
-msgid "HTML (possibly with                         JavaScript and/or CSS) that will be added to the bottom                         of every page. This can be used for web analytics                         systems, but also to                         perform instance-specific customizations like adding a                         project banner at the top of every page."
+msgid ""
+"HTML (possibly with                         JavaScript and/or CSS) that "
+"will be added to the bottom                         of every page. This "
+"can be used for web analytics                         systems, but also "
+"to                         perform instance-specific customizations like "
+"adding a                         project banner at the top of every page."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_global.html:32
@@ -3244,7 +3330,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_global.html:43
-msgid "Private key for reCaptcha system. Setting this value will enable captcha on registration."
+msgid ""
+"Private key for reCaptcha system. Setting this value will enable captcha "
+"on registration."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_global.html:49
@@ -3262,7 +3350,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_hooks.html:18
-msgid "Hooks can be used to trigger actions on certain events such as push / pull. They can trigger Python functions or external applications."
+msgid ""
+"Hooks can be used to trigger actions on certain events such as push / "
+"pull. They can trigger Python functions or external applications."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_hooks.html:60
@@ -3278,7 +3368,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:12
-msgid "Check this option to remove all comments, pull requests and other records related to repositories that no longer exist in the filesystem."
+msgid ""
+"Check this option to remove all comments, pull requests and other records"
+" related to repositories that no longer exist in the filesystem."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:17
@@ -3294,7 +3386,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:28
-msgid "Verify if Kallithea's Git hooks are installed for each repository. Current hooks will be updated to the latest version."
+msgid ""
+"Verify if Kallithea's Git hooks are installed for each repository. "
+"Current hooks will be updated to the latest version."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:32
@@ -3302,7 +3396,10 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:35
-msgid "If installing Git hooks, overwrite any existing hooks, even if they do not seem to come from Kallithea. WARNING: This operation will destroy any custom git hooks you may have deployed by hand!"
+msgid ""
+"If installing Git hooks, overwrite any existing hooks, even if they do "
+"not seem to come from Kallithea. WARNING: This operation will destroy any"
+" custom git hooks you may have deployed by hand!"
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:41
@@ -3318,7 +3415,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_search.html:12
-msgid "This option completely reindexeses all of the repositories for proper fulltext search capabilities."
+msgid ""
+"This option completely reindexeses all of the repositories for proper "
+"fulltext search capabilities."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_search.html:18
@@ -3378,7 +3477,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_vcs.html:35
-msgid "Requires hgsubversion library to be installed. Enables cloning of remote Subversion repositories while converting them to Mercurial."
+msgid ""
+"Requires hgsubversion library to be installed. Enables cloning of remote "
+"Subversion repositories while converting them to Mercurial."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_vcs.html:47
@@ -3386,11 +3487,15 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_vcs.html:52
-msgid "Click to unlock. You must restart Kallithea in order to make this setting take effect."
+msgid ""
+"Click to unlock. You must restart Kallithea in order to make this setting"
+" take effect."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_vcs.html:56
-msgid "Filesystem location where repositories are stored. After changing this value, a restart and rescan of the repository folder are both required."
+msgid ""
+"Filesystem location where repositories are stored. After changing this "
+"value, a restart and rescan of the repository folder are both required."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:4
@@ -3420,12 +3525,18 @@
 #: kallithea/templates/admin/settings/settings_visual.html:29
 msgid ""
 "Gravatar URL allows you to use another avatar server application.\n"
-"                                                        The following variables of the URL will be replaced accordingly.\n"
-"                                                        {scheme}    'http' or 'https' sent from running Kallithea server,\n"
-"                                                        {email}     user email,\n"
-"                                                        {md5email}  md5 hash of the user email (like at gravatar.com),\n"
-"                                                        {size}      size of the image that is expected from the server application,\n"
-"                                                        {netloc}    network location/server host of running Kallithea server"
+"                                                        The following "
+"variables of the URL will be replaced accordingly.\n"
+"                                                        {scheme}    "
+"'http' or 'https' sent from running Kallithea server,\n"
+"                                                        {email}     user "
+"email,\n"
+"                                                        {md5email}  md5 "
+"hash of the user email (like at gravatar.com),\n"
+"                                                        {size}      size "
+"of the image that is expected from the server application,\n"
+"                                                        {netloc}    "
+"network location/server host of running Kallithea server"
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:40
@@ -3434,15 +3545,24 @@
 
 #: kallithea/templates/admin/settings/settings_visual.html:43
 msgid ""
-"Schema of clone URL construction eg. '{scheme}://{user}@{netloc}/{repo}'.\n"
-"                                                    The following variables are available:\n"
-"                                                    {scheme} 'http' or 'https' sent from running Kallithea server,\n"
-"                                                    {user}   current user username,\n"
-"                                                    {netloc} network location/server host of running Kallithea server,\n"
-"                                                    {repo}   full repository name,\n"
-"                                                    {repoid} ID of repository, can be used to construct clone-by-id,\n"
-"                                                    {system_user}  name of the Kallithea system user,\n"
-"                                                    {hostname}  server hostname\n"
+"Schema of clone URL construction eg. '{scheme}://{user}@{netloc}/{repo}'."
+"\n"
+"                                                    The following "
+"variables are available:\n"
+"                                                    {scheme} 'http' or "
+"'https' sent from running Kallithea server,\n"
+"                                                    {user}   current user"
+" username,\n"
+"                                                    {netloc} network "
+"location/server host of running Kallithea server,\n"
+"                                                    {repo}   full "
+"repository name,\n"
+"                                                    {repoid} ID of "
+"repository, can be used to construct clone-by-id,\n"
+"                                                    {system_user}  name "
+"of the Kallithea system user,\n"
+"                                                    {hostname}  server "
+"hostname\n"
 "                                                    "
 msgstr ""
 
@@ -3451,7 +3571,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:59
-msgid "Schema for constructing SSH clone URL, eg. 'ssh://{system_user}@{hostname}/{repo}'."
+msgid ""
+"Schema for constructing SSH clone URL, eg. "
+"'ssh://{system_user}@{hostname}/{repo}'."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:65
@@ -3459,7 +3581,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:68
-msgid "Number of items displayed in the repository pages before pagination is shown."
+msgid ""
+"Number of items displayed in the repository pages before pagination is "
+"shown."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:73
@@ -3467,7 +3591,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:76
-msgid "Number of items displayed in the admin pages grids before pagination is shown."
+msgid ""
+"Number of items displayed in the admin pages grids before pagination is "
+"shown."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:81
@@ -3491,7 +3617,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:105
-msgid "Parses meta tags from the repository description field and turns them into colored tags."
+msgid ""
+"Parses meta tags from the repository description field and turns them "
+"into colored tags."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:109
@@ -4317,7 +4445,9 @@
 msgstr ""
 
 #: kallithea/templates/compare/compare_cs.html:15
-msgid "Please merge the target branch to your branch before creating a pull request."
+msgid ""
+"Please merge the target branch to your branch before creating a pull "
+"request."
 msgstr ""
 
 #: kallithea/templates/compare/compare_cs.html:19
@@ -4446,7 +4576,9 @@
 msgstr ""
 
 #: kallithea/templates/email_templates/password_reset.html:25
-msgid "This account is however managed outside this system and the password cannot be changed here."
+msgid ""
+"This account is however managed outside this system and the password "
+"cannot be changed here."
 msgstr ""
 
 #: kallithea/templates/email_templates/password_reset.html:28
@@ -4454,11 +4586,15 @@
 msgstr ""
 
 #: kallithea/templates/email_templates/password_reset.html:33
-msgid "Should you not be able to use the link above, please type the following code into the password reset form"
+msgid ""
+"Should you not be able to use the link above, please type the following "
+"code into the password reset form"
 msgstr ""
 
 #: kallithea/templates/email_templates/password_reset.html:44
-msgid "If it weren't you who requested the password reset, just disregard this message."
+msgid ""
+"If it weren't you who requested the password reset, just disregard this "
+"message."
 msgstr ""
 
 #: kallithea/templates/email_templates/pull_request.html:4
@@ -4928,7 +5064,9 @@
 msgstr ""
 
 #: kallithea/templates/pullrequests/pullrequest_show.html:95
-msgid "This is just a range of changesets and doesn't have a target or a real merge ancestor."
+msgid ""
+"This is just a range of changesets and doesn't have a target or a real "
+"merge ancestor."
 msgstr ""
 
 #: kallithea/templates/pullrequests/pullrequest_show.html:103
@@ -4944,7 +5082,9 @@
 msgstr ""
 
 #: kallithea/templates/pullrequests/pullrequest_show.html:177
-msgid "Pull request iterations do not change content once created. Select a revision to create a new iteration."
+msgid ""
+"Pull request iterations do not change content once created. Select a "
+"revision to create a new iteration."
 msgstr ""
 
 #: kallithea/templates/pullrequests/pullrequest_show.html:187
--- a/kallithea/i18n/nb_NO/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/nb_NO/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -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: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2019-04-30 22:25+0000\n"
 "Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
 "Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
@@ -129,12 +129,12 @@
 "Tjeneren støtte på en uventet tilstand som forhindret utøvelse av "
 "forespørsel."
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr "%s sendte inn %s"
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -144,12 +144,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr "Endringsettet var for stort og har blitt avskåret…"
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, fuzzy, python-format
 msgid "%s %s feed"
 msgstr "%s %s kilde"
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, fuzzy, python-format
 msgid "Changes on %s repository"
 msgstr "Endringer i %s-pakkebrønn"
@@ -426,32 +426,32 @@
 msgstr ""
 "Denne innsendingsforespørselen har blitt lukket, og kan ikke oppdateres."
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 msgid "No additional changesets found for iterating on this pull request."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr "Merk: Forgreningen %s har et annet hode: %s."
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 msgid "Git pull requests don't support iterating yet."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, python-format
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -467,12 +467,12 @@
 msgid "An error occurred during search operation."
 msgstr "Feil inntraff under søkeoperasjon."
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr "Ingen data klar enda"
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr "Statistikk er avskrudd for denne pakkebrønnen"
@@ -906,7 +906,7 @@
 msgid "Updated VCS settings"
 msgstr "Oppdaterte VCS-innstillinger"
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1098,174 +1098,174 @@
 msgid "No changes detected"
 msgstr ""
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, python-format
 msgid "Changeset %s not found"
 msgstr ""
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr ""
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr ""
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr ""
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr "Forgreningsnavn %s"
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr "Flettingsforespørsel %s"
 
-#: kallithea/lib/helpers.py:785
+#: kallithea/lib/helpers.py:797
 #, fuzzy
 msgid "[deleted] repository"
 msgstr "[slettet] pakkebrønn"
 
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
 #, fuzzy
 msgid "[created] repository"
 msgstr "[opprettet] pakkebrønn"
 
-#: kallithea/lib/helpers.py:789
+#: kallithea/lib/helpers.py:801
 msgid "[created] repository as fork"
 msgstr "[opprettet] pakkebrønn som forgrening"
 
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
 #, fuzzy
 msgid "[forked] repository"
 msgstr "[forgrenet] pakkebrønn"
 
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
 #, fuzzy
 msgid "[updated] repository"
 msgstr "[oppdaterte] pakkebrønn"
 
-#: kallithea/lib/helpers.py:795
+#: kallithea/lib/helpers.py:807
 #, fuzzy
 msgid "[downloaded] archive from repository"
 msgstr "[lastet ned] arkiv fra pakkebrønn"
 
-#: kallithea/lib/helpers.py:797
+#: kallithea/lib/helpers.py:809
 #, fuzzy
 msgid "[delete] repository"
 msgstr "[slett] pakkebrønn"
 
-#: kallithea/lib/helpers.py:805
+#: kallithea/lib/helpers.py:817
 msgid "[created] user"
 msgstr "[opprettet] bruker"
 
-#: kallithea/lib/helpers.py:807
+#: kallithea/lib/helpers.py:819
 msgid "[updated] user"
 msgstr "[oppdaterte] bruker"
 
-#: kallithea/lib/helpers.py:809
+#: kallithea/lib/helpers.py:821
 msgid "[created] user group"
 msgstr "[opprettet] brukergruppe"
 
-#: kallithea/lib/helpers.py:811
+#: kallithea/lib/helpers.py:823
 msgid "[updated] user group"
 msgstr "[oppdaterte] brukergruppe"
 
-#: kallithea/lib/helpers.py:813
+#: kallithea/lib/helpers.py:825
 #, fuzzy
 msgid "[commented] on revision in repository"
 msgstr "[kommenterte] en revisjon i pakkebrønn"
 
-#: kallithea/lib/helpers.py:815
+#: kallithea/lib/helpers.py:827
 msgid "[commented] on pull request for"
 msgstr "[kommenterte] flettingsforespørsel for"
 
-#: kallithea/lib/helpers.py:817
+#: kallithea/lib/helpers.py:829
 msgid "[closed] pull request for"
 msgstr "[lukket] flettingsforespørsel for"
 
-#: kallithea/lib/helpers.py:819
+#: kallithea/lib/helpers.py:831
 msgid "[pushed] into"
 msgstr "[dyttet] til"
 
-#: kallithea/lib/helpers.py:821
+#: kallithea/lib/helpers.py:833
 #, fuzzy
 msgid "[committed via Kallithea] into repository"
 msgstr "[innsendt via Kallithea] inn i pakkebrønn"
 
-#: kallithea/lib/helpers.py:823
+#: kallithea/lib/helpers.py:835
 msgid "[pulled from remote] into repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:825
+#: kallithea/lib/helpers.py:837
 msgid "[pulled] from"
 msgstr ""
 
-#: kallithea/lib/helpers.py:827
+#: kallithea/lib/helpers.py:839
 msgid "[started following] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:829
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr "Ingen filer"
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr "ny fil"
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr ""
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr ""
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/nl_BE/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/nl_BE/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2019-10-05 19:28+0000\n"
 "Last-Translator: Thomas De Schampheleire <patrickdepinguin@gmail.com>\n"
 "Language-Team: Flemish <https://hosted.weblate.org/projects/kallithea/"
@@ -129,12 +129,12 @@
 msgstr ""
 "De server kon de aanvraag niet voldoen wegens een onverwachte toestand."
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr "%s committeerde op %s"
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -144,12 +144,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr "De changeset was te groot en werd afgekort..."
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr "%s %s feed"
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr "Veranderingen in repository %s"
@@ -418,32 +418,32 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 msgid "No additional changesets found for iterating on this pull request."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 msgid "Git pull requests don't support iterating yet."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, python-format
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -459,12 +459,12 @@
 msgid "An error occurred during search operation."
 msgstr ""
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr ""
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr ""
@@ -886,7 +886,7 @@
 msgid "Updated VCS settings"
 msgstr ""
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1075,166 +1075,166 @@
 msgid "No changes detected"
 msgstr ""
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, python-format
 msgid "Changeset %s not found"
 msgstr "Changeset %s werd niet gevonden"
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr ""
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr ""
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr ""
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:785
-msgid "[deleted] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
-msgid "[created] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:789
-msgid "[created] repository as fork"
-msgstr ""
-
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
-msgid "[forked] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
-msgid "[updated] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:795
-msgid "[downloaded] archive from repository"
-msgstr ""
-
 #: kallithea/lib/helpers.py:797
-msgid "[delete] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:805
-msgid "[created] user"
+msgid "[deleted] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
+msgid "[created] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:801
+msgid "[created] repository as fork"
+msgstr ""
+
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
+msgid "[forked] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
+msgid "[updated] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:807
-msgid "[updated] user"
+msgid "[downloaded] archive from repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:809
-msgid "[created] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:811
-msgid "[updated] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:813
-msgid "[commented] on revision in repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:815
-msgid "[commented] on pull request for"
+msgid "[delete] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:817
-msgid "[closed] pull request for"
+msgid "[created] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:819
-msgid "[pushed] into"
+msgid "[updated] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:821
-msgid "[committed via Kallithea] into repository"
+msgid "[created] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:823
-msgid "[pulled from remote] into repository"
+msgid "[updated] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:825
-msgid "[pulled] from"
+msgid "[commented] on revision in repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:827
-msgid "[started following] repository"
+msgid "[commented] on pull request for"
 msgstr ""
 
 #: kallithea/lib/helpers.py:829
+msgid "[closed] pull request for"
+msgstr ""
+
+#: kallithea/lib/helpers.py:831
+msgid "[pushed] into"
+msgstr ""
+
+#: kallithea/lib/helpers.py:833
+msgid "[committed via Kallithea] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:835
+msgid "[pulled from remote] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:837
+msgid "[pulled] from"
+msgstr ""
+
+#: kallithea/lib/helpers.py:839
+msgid "[started following] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr ""
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr ""
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr ""
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr ""
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/pl/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/pl/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2019-08-17 19:53+0000\n"
 "Last-Translator: Mateusz Mendel <mendelm9@gmail.com>\n"
 "Language-Team: Polish <https://hosted.weblate.org/projects/kallithea/"
@@ -129,12 +129,12 @@
 "Serwer napotkał niespodziewany warunek, który uniemożliwia spełnienie "
 "żądania."
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr "%s zakomitowal w %s"
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -144,12 +144,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr "Lista zmian była zbyt duża i została ucięta..."
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr "%s %s zasilać"
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr "Zmiany w %s repozytorium"
@@ -421,32 +421,32 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 msgid "No additional changesets found for iterating on this pull request."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 msgid "Git pull requests don't support iterating yet."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, python-format
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -462,12 +462,12 @@
 msgid "An error occurred during search operation."
 msgstr "Wystąpił błąd podczas operacji wyszukiwania."
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr "Żadne dane nie zostały załadowane"
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr "Statystyki są wyłączone dla tego repozytorium"
@@ -895,7 +895,7 @@
 msgid "Updated VCS settings"
 msgstr "Aktualizacja ustawień VCS"
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1091,166 +1091,166 @@
 msgid "No changes detected"
 msgstr "Nie wykryto zmian"
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr "Usunięta gałąź: %s"
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr "Utworzony tag: %s"
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, python-format
 msgid "Changeset %s not found"
 msgstr "Nie znaleziono changeset %s"
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr "Pokaż wszystkie zestawienia zmian changesets %s->%s"
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr "Wyświetl porównanie"
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr "i"
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr "%s więcej"
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr "rewizja"
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr "nazwa rozgałęzienia %s"
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, fuzzy, python-format
 msgid "Pull request %s"
 msgstr "Połączonych gałęzi #%s"
 
-#: kallithea/lib/helpers.py:785
+#: kallithea/lib/helpers.py:797
 msgid "[deleted] repository"
 msgstr "[usunięte] repozytorium"
 
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
 msgid "[created] repository"
 msgstr "[utworzone] repozytorium"
 
-#: kallithea/lib/helpers.py:789
+#: kallithea/lib/helpers.py:801
 msgid "[created] repository as fork"
 msgstr "[utworzone] repozytorium jako rozgałęzienie"
 
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
 msgid "[forked] repository"
 msgstr "[rozgałęzione] repozytorium"
 
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
 msgid "[updated] repository"
 msgstr "[zaktualizowane] repozytorium"
 
-#: kallithea/lib/helpers.py:795
+#: kallithea/lib/helpers.py:807
 msgid "[downloaded] archive from repository"
 msgstr "[pobierz] archiwum z repozytorium"
 
-#: kallithea/lib/helpers.py:797
+#: kallithea/lib/helpers.py:809
 msgid "[delete] repository"
 msgstr "[skasowane] repozytorium"
 
-#: kallithea/lib/helpers.py:805
+#: kallithea/lib/helpers.py:817
 msgid "[created] user"
 msgstr "[utworzony] użytkownik"
 
-#: kallithea/lib/helpers.py:807
+#: kallithea/lib/helpers.py:819
 msgid "[updated] user"
 msgstr "[zaktualizowany] użytkownik"
 
-#: kallithea/lib/helpers.py:809
+#: kallithea/lib/helpers.py:821
 msgid "[created] user group"
 msgstr "[utworzona] grupa użytkowników"
 
-#: kallithea/lib/helpers.py:811
+#: kallithea/lib/helpers.py:823
 msgid "[updated] user group"
 msgstr "[zaktualizowana] grupa użytkowników"
 
-#: kallithea/lib/helpers.py:813
+#: kallithea/lib/helpers.py:825
 msgid "[commented] on revision in repository"
 msgstr "[komentarz] do zmiany w repozytorium"
 
-#: kallithea/lib/helpers.py:815
+#: kallithea/lib/helpers.py:827
 msgid "[commented] on pull request for"
 msgstr "[komentarz] wniosek o połączenie gałęzi"
 
-#: kallithea/lib/helpers.py:817
+#: kallithea/lib/helpers.py:829
 msgid "[closed] pull request for"
 msgstr "[zamknięty] wniosek o połączenie gałęzi"
 
-#: kallithea/lib/helpers.py:819
+#: kallithea/lib/helpers.py:831
 msgid "[pushed] into"
 msgstr "[wysłane zmiany] w"
 
-#: kallithea/lib/helpers.py:821
+#: kallithea/lib/helpers.py:833
 msgid "[committed via Kallithea] into repository"
 msgstr "[synchronizacja przez Kallithea] z repozytorium"
 
-#: kallithea/lib/helpers.py:823
+#: kallithea/lib/helpers.py:835
 msgid "[pulled from remote] into repository"
 msgstr "[pobieranie z zdalnego] do repozytorium"
 
-#: kallithea/lib/helpers.py:825
+#: kallithea/lib/helpers.py:837
 msgid "[pulled] from"
 msgstr "[pobrano]"
 
-#: kallithea/lib/helpers.py:827
+#: kallithea/lib/helpers.py:839
 msgid "[started following] repository"
 msgstr "[start następnego] repozytorium"
 
-#: kallithea/lib/helpers.py:829
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr "[zatrzymany po] repozytorium"
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr " i %s więcej"
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr "Brak plików"
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr "nowy plik"
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr "modyfikuj"
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr "kasuj"
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr "zmień nazwę"
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr "chmod"
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/pt_BR/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/pt_BR/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2014-02-13 14:34+0000\n"
 "Last-Translator: Marcin Kuźmiński <marcin@python-works.com>\n"
 "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
@@ -128,12 +128,12 @@
 "O servidor encontrou uma condição inesperada que o impediu de satisfazer "
 "a requisição."
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr "%s commitados em %s"
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -143,12 +143,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr "Conjunto de mudanças era grande demais e foi cortado..."
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr "%s - feed %s"
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr "Modificações no repositório %s"
@@ -426,32 +426,32 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 msgid "No additional changesets found for iterating on this pull request."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 msgid "Git pull requests don't support iterating yet."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, python-format
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -468,13 +468,13 @@
 msgid "An error occurred during search operation."
 msgstr "Ocorreu um erro durante essa operação de busca"
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 #, fuzzy
 msgid "No data ready yet"
 msgstr "Ainda não há dados carregados"
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr "As estatísticas estão desabillitadas para este repositório"
@@ -903,7 +903,7 @@
 msgid "Updated VCS settings"
 msgstr "Configurações de VCS atualizadas"
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1101,168 +1101,168 @@
 msgid "No changes detected"
 msgstr "Nenhuma alteração detectada"
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr "Excluído ramo: %s"
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr "Tag criada: %s"
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, fuzzy, python-format
 #| msgid "Changeset not found"
 msgid "Changeset %s not found"
 msgstr "Conjunto de alterações não encontrado"
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr "Ver todos os conjuntos de mudanças combinados %s->%s"
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 #, fuzzy
 msgid "Compare view"
 msgstr "comparar exibir"
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr "e"
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr "%s mais"
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr "revisões"
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, fuzzy, python-format
 msgid "Fork name %s"
 msgstr "nome da bifurcação %s"
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, fuzzy, python-format
 msgid "Pull request %s"
 msgstr "Pull request #%s"
 
-#: kallithea/lib/helpers.py:785
+#: kallithea/lib/helpers.py:797
 msgid "[deleted] repository"
 msgstr "repositório [excluído]"
 
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
 msgid "[created] repository"
 msgstr "repositório [criado]"
 
-#: kallithea/lib/helpers.py:789
+#: kallithea/lib/helpers.py:801
 msgid "[created] repository as fork"
 msgstr "repositório [criado] como uma bifurcação"
 
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
 msgid "[forked] repository"
 msgstr "repositório [bifurcado]"
 
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
 msgid "[updated] repository"
 msgstr "repositório [atualizado]"
 
-#: kallithea/lib/helpers.py:795
+#: kallithea/lib/helpers.py:807
 msgid "[downloaded] archive from repository"
 msgstr "[baixado] archive do repositório"
 
-#: kallithea/lib/helpers.py:797
+#: kallithea/lib/helpers.py:809
 msgid "[delete] repository"
 msgstr "[excluir] repositório"
 
-#: kallithea/lib/helpers.py:805
+#: kallithea/lib/helpers.py:817
 msgid "[created] user"
 msgstr "usuário [criado]"
 
-#: kallithea/lib/helpers.py:807
+#: kallithea/lib/helpers.py:819
 msgid "[updated] user"
 msgstr "usuário [atualizado]"
 
-#: kallithea/lib/helpers.py:809
+#: kallithea/lib/helpers.py:821
 msgid "[created] user group"
 msgstr "[criado] grupo de usuários"
 
-#: kallithea/lib/helpers.py:811
+#: kallithea/lib/helpers.py:823
 msgid "[updated] user group"
 msgstr "[atualizado] grupo de usuários"
 
-#: kallithea/lib/helpers.py:813
+#: kallithea/lib/helpers.py:825
 msgid "[commented] on revision in repository"
 msgstr "[comentado] em revisão no repositório"
 
-#: kallithea/lib/helpers.py:815
+#: kallithea/lib/helpers.py:827
 msgid "[commented] on pull request for"
 msgstr "[comentado] no pull request para"
 
-#: kallithea/lib/helpers.py:817
+#: kallithea/lib/helpers.py:829
 msgid "[closed] pull request for"
 msgstr "[fechado] pull request para"
 
-#: kallithea/lib/helpers.py:819
+#: kallithea/lib/helpers.py:831
 msgid "[pushed] into"
 msgstr "[realizado push] para"
 
-#: kallithea/lib/helpers.py:821
+#: kallithea/lib/helpers.py:833
 msgid "[committed via Kallithea] into repository"
 msgstr "[commitado via Kallithea] no repositório"
 
-#: kallithea/lib/helpers.py:823
+#: kallithea/lib/helpers.py:835
 msgid "[pulled from remote] into repository"
 msgstr "[pulled do remote] no repositório"
 
-#: kallithea/lib/helpers.py:825
+#: kallithea/lib/helpers.py:837
 msgid "[pulled] from"
 msgstr "[realizado pull] a partir de"
 
-#: kallithea/lib/helpers.py:827
+#: kallithea/lib/helpers.py:839
 msgid "[started following] repository"
 msgstr "[passou a seguir] o repositório"
 
-#: kallithea/lib/helpers.py:829
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr "[parou de seguir] o repositório"
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr " e mais %s"
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr "Nenhum arquivo"
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr "novo arquivo"
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr "mod"
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr "excluir"
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr "renomear"
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr "chmod"
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/ru/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/ru/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2017-01-05 14:58+0000\n"
 "Last-Translator: Andrej Shadura <andrew@shadura.me>\n"
 "Language-Team: Russian <https://hosted.weblate.org/projects/kallithea/"
@@ -129,12 +129,12 @@
 msgstr ""
 "Сервер не может выполнить запрос из-за неправильного условия в запросе."
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr "%s выполнил коммит в %s"
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -144,12 +144,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr "Изменения оказались слишком большими и были вырезаны..."
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr "Лента новостей %s %s"
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr "Изменения в репозитории %s"
@@ -427,37 +427,37 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr "Этот pull-запрос был закрыт и не может быть обновлён."
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 #, fuzzy
 #| msgid "No changesets found for updating this pull request."
 msgid "No additional changesets found for iterating on this pull request."
 msgstr "Нет изменений для обновления этого pull-запроса."
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr "Внимание: Ветка %s имеет ещё одну верхушку: %s."
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 #, fuzzy
 #| msgid "Git pull requests don't support updates yet."
 msgid "Git pull requests don't support iterating yet."
 msgstr "Обновление pull-запросы git не поддерживается."
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, fuzzy, python-format
 #| msgid "No changesets found for updating this pull request."
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr "Нет изменений для обновления этого pull-запроса."
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -473,12 +473,12 @@
 msgid "An error occurred during search operation."
 msgstr "Произошла ошибка при выполнении этого поиска."
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr "Нет данных"
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr "Статистические данные отключены для этого репозитария"
@@ -907,7 +907,7 @@
 msgid "Updated VCS settings"
 msgstr "Обновлены настройки VCS"
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1106,167 +1106,167 @@
 msgid "No changes detected"
 msgstr "Изменений не обнаружено"
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr "Удалена ветка: %s"
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr "Создан тег: %s"
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, fuzzy, python-format
 msgid "Changeset %s not found"
 msgstr "Набор изменений не найден"
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr "Показать отличия вместе %s->%s"
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 #, fuzzy
 msgid "Compare view"
 msgstr "сравнение"
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr "и"
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr "на %s больше"
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr "версии"
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, fuzzy, python-format
 msgid "Fork name %s"
 msgstr "имя форка %s"
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr "Pull-запрос %s"
 
-#: kallithea/lib/helpers.py:785
+#: kallithea/lib/helpers.py:797
 msgid "[deleted] repository"
 msgstr "[удален] репозиторий"
 
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
 msgid "[created] repository"
 msgstr "[создан] репозиторий"
 
-#: kallithea/lib/helpers.py:789
+#: kallithea/lib/helpers.py:801
 msgid "[created] repository as fork"
 msgstr "[создан] репозиторий как форк"
 
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
 msgid "[forked] repository"
 msgstr "[форкнут] репозиторий"
 
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
 msgid "[updated] repository"
 msgstr "[обновлён] репозиторий"
 
-#: kallithea/lib/helpers.py:795
+#: kallithea/lib/helpers.py:807
 msgid "[downloaded] archive from repository"
 msgstr "[загружен] архив из репозитория"
 
-#: kallithea/lib/helpers.py:797
+#: kallithea/lib/helpers.py:809
 msgid "[delete] repository"
 msgstr "[удален] репозиторий"
 
-#: kallithea/lib/helpers.py:805
+#: kallithea/lib/helpers.py:817
 msgid "[created] user"
 msgstr "[создан] пользователь"
 
-#: kallithea/lib/helpers.py:807
+#: kallithea/lib/helpers.py:819
 msgid "[updated] user"
 msgstr "[обновлён] пользователь"
 
-#: kallithea/lib/helpers.py:809
+#: kallithea/lib/helpers.py:821
 msgid "[created] user group"
 msgstr "[создана] группа пользователей"
 
-#: kallithea/lib/helpers.py:811
+#: kallithea/lib/helpers.py:823
 msgid "[updated] user group"
 msgstr "[обновлена] группа пользователей"
 
-#: kallithea/lib/helpers.py:813
+#: kallithea/lib/helpers.py:825
 msgid "[commented] on revision in repository"
 msgstr "[комментарий] к ревизии в репозитории"
 
-#: kallithea/lib/helpers.py:815
+#: kallithea/lib/helpers.py:827
 msgid "[commented] on pull request for"
 msgstr "[прокомментировано] в запросе на внесение изменений для"
 
-#: kallithea/lib/helpers.py:817
+#: kallithea/lib/helpers.py:829
 msgid "[closed] pull request for"
 msgstr "[закрыт] Pull-запрос для"
 
-#: kallithea/lib/helpers.py:819
+#: kallithea/lib/helpers.py:831
 msgid "[pushed] into"
 msgstr "[отправлено] в"
 
-#: kallithea/lib/helpers.py:821
+#: kallithea/lib/helpers.py:833
 msgid "[committed via Kallithea] into repository"
 msgstr "[внесены изменения с помощью Kallithea] в репозитории"
 
-#: kallithea/lib/helpers.py:823
+#: kallithea/lib/helpers.py:835
 msgid "[pulled from remote] into repository"
 msgstr "[внесены изменения из удалённого репозитория] в репозиторий"
 
-#: kallithea/lib/helpers.py:825
+#: kallithea/lib/helpers.py:837
 msgid "[pulled] from"
 msgstr "[внесены изменения] из"
 
-#: kallithea/lib/helpers.py:827
+#: kallithea/lib/helpers.py:839
 msgid "[started following] repository"
 msgstr "[добавлен в наблюдения] репозиторий"
 
-#: kallithea/lib/helpers.py:829
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr "[удалён из наблюдения] репозиторий"
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr " и на %s больше"
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr "Нет файлов"
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr "новый файл"
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr "изменён"
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr "удалён"
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr "переименован"
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr "chmod"
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/sk/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/sk/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2015-04-01 12:59+0200\n"
 "Last-Translator: Andrej Shadura <andrew@shadura.me>\n"
 "Language-Team: Slovak <https://hosted.weblate.org/projects/kallithea/"
@@ -126,12 +126,12 @@
 "fulfilling the request."
 msgstr ""
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr ""
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -141,12 +141,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr ""
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr ""
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr "Zmeny na repozitáre %s"
@@ -416,32 +416,32 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 msgid "No additional changesets found for iterating on this pull request."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 msgid "Git pull requests don't support iterating yet."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, python-format
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -457,12 +457,12 @@
 msgid "An error occurred during search operation."
 msgstr "Došlo k chybe počas vyhľadávania."
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr ""
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr ""
@@ -887,7 +887,7 @@
 msgid "Updated VCS settings"
 msgstr ""
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1077,167 +1077,167 @@
 msgid "No changes detected"
 msgstr ""
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, fuzzy, python-format
 #| msgid "Set changeset status"
 msgid "Changeset %s not found"
 msgstr "Zmeny"
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr ""
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr ""
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr ""
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:785
-msgid "[deleted] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
-msgid "[created] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:789
-msgid "[created] repository as fork"
-msgstr ""
-
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
-msgid "[forked] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
-msgid "[updated] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:795
-msgid "[downloaded] archive from repository"
-msgstr ""
-
 #: kallithea/lib/helpers.py:797
-msgid "[delete] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:805
-msgid "[created] user"
+msgid "[deleted] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
+msgid "[created] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:801
+msgid "[created] repository as fork"
+msgstr ""
+
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
+msgid "[forked] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
+msgid "[updated] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:807
-msgid "[updated] user"
+msgid "[downloaded] archive from repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:809
-msgid "[created] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:811
-msgid "[updated] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:813
-msgid "[commented] on revision in repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:815
-msgid "[commented] on pull request for"
+msgid "[delete] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:817
-msgid "[closed] pull request for"
+msgid "[created] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:819
-msgid "[pushed] into"
+msgid "[updated] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:821
-msgid "[committed via Kallithea] into repository"
+msgid "[created] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:823
-msgid "[pulled from remote] into repository"
+msgid "[updated] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:825
-msgid "[pulled] from"
+msgid "[commented] on revision in repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:827
-msgid "[started following] repository"
+msgid "[commented] on pull request for"
 msgstr ""
 
 #: kallithea/lib/helpers.py:829
+msgid "[closed] pull request for"
+msgstr ""
+
+#: kallithea/lib/helpers.py:831
+msgid "[pushed] into"
+msgstr ""
+
+#: kallithea/lib/helpers.py:833
+msgid "[committed via Kallithea] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:835
+msgid "[pulled from remote] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:837
+msgid "[pulled] from"
+msgstr ""
+
+#: kallithea/lib/helpers.py:839
+msgid "[started following] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr ""
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr ""
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr ""
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr ""
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/tr/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/tr/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -7,14 +7,14 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.4.99\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2019-11-05 08:03+0000\n"
 "Last-Translator: Hüseyin Tunç <huseyin.tunc@bulutfon.com>\n"
 "Language-Team: Turkish <https://hosted.weblate.org/projects/kallithea/"
 "kallithea/tr/>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.10-dev\n"
@@ -45,7 +45,8 @@
 msgid "Show whitespace"
 msgstr "Boşlukları göster"
 
-#: kallithea/controllers/changeset.py:88 kallithea/controllers/changeset.py:95
+#: kallithea/controllers/changeset.py:88
+#: kallithea/controllers/changeset.py:95
 #: kallithea/templates/files/diff_2way.html:55
 msgid "Ignore whitespace"
 msgstr ""
@@ -103,7 +104,8 @@
 msgstr ""
 
 #: kallithea/controllers/error.py:85
-msgid "The request could not be understood by the server due to malformed syntax."
+msgid ""
+"The request could not be understood by the server due to malformed syntax."
 msgstr ""
 
 #: kallithea/controllers/error.py:88
@@ -119,15 +121,17 @@
 msgstr ""
 
 #: kallithea/controllers/error.py:94
-msgid "The server encountered an unexpected condition which prevented it from fulfilling the request."
-msgstr ""
-
-#: kallithea/controllers/feed.py:64
+msgid ""
+"The server encountered an unexpected condition which prevented it from "
+"fulfilling the request."
+msgstr ""
+
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr ""
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -137,12 +141,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr ""
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr ""
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr ""
@@ -237,13 +241,13 @@
 msgid "Changesets"
 msgstr ""
 
-#: kallithea/controllers/files.py:730 kallithea/controllers/pullrequests.py:182
-#: kallithea/model/scm.py:676
+#: kallithea/controllers/files.py:730
+#: kallithea/controllers/pullrequests.py:182 kallithea/model/scm.py:676
 msgid "Branches"
 msgstr ""
 
-#: kallithea/controllers/files.py:731 kallithea/controllers/pullrequests.py:183
-#: kallithea/model/scm.py:687
+#: kallithea/controllers/files.py:731
+#: kallithea/controllers/pullrequests.py:183 kallithea/model/scm.py:687
 msgid "Tags"
 msgstr ""
 
@@ -262,7 +266,8 @@
 #: kallithea/templates/admin/repos/repo_add.html:16
 #: kallithea/templates/admin/repos/repos.html:9
 #: kallithea/templates/admin/users/user_edit_advanced.html:6
-#: kallithea/templates/base/base.html:56 kallithea/templates/base/base.html:73
+#: kallithea/templates/base/base.html:56
+#: kallithea/templates/base/base.html:73
 #: kallithea/templates/base/base.html:437 kallithea/templates/index.html:5
 msgid "Repositories"
 msgstr ""
@@ -408,31 +413,32 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 msgid "No additional changesets found for iterating on this pull request."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 msgid "Git pull requests don't support iterating yet."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:564
-#, python-format
-msgid "Error: some changesets not found when displaying pull request from %s."
-msgstr ""
-
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:569
+#, python-format
+msgid ""
+"Error: some changesets not found when displaying pull request from %s."
+msgstr ""
+
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -448,12 +454,12 @@
 msgid "An error occurred during search operation."
 msgstr ""
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr ""
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr ""
@@ -875,8 +881,10 @@
 msgid "Updated VCS settings"
 msgstr ""
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
-msgid "Unable to activate hgsubversion support. The \"hgsubversion\" library is missing"
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
+msgid ""
+"Unable to activate hgsubversion support. The \"hgsubversion\" library is "
+"missing"
 msgstr ""
 
 #: kallithea/controllers/admin/settings.py:141
@@ -1032,7 +1040,8 @@
 msgstr ""
 
 #: kallithea/lib/base.py:483
-msgid "CSRF token leak has been detected - all form tokens have been expired"
+msgid ""
+"CSRF token leak has been detected - all form tokens have been expired"
 msgstr ""
 
 #: kallithea/lib/base.py:580
@@ -1053,174 +1062,179 @@
 msgstr ""
 
 #: kallithea/lib/diffs.py:214
-msgid "Changeset was too big and was cut off, use diff menu to display this diff"
+msgid ""
+"Changeset was too big and was cut off, use diff menu to display this diff"
 msgstr ""
 
 #: kallithea/lib/diffs.py:224
 msgid "No changes detected"
 msgstr ""
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, python-format
 msgid "Changeset %s not found"
 msgstr ""
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr ""
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr ""
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:730 kallithea/templates/changelog/changelog.html:43
+#: kallithea/lib/helpers.py:742
+#: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr ""
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:785
-msgid "[deleted] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
-msgid "[created] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:789
-msgid "[created] repository as fork"
-msgstr ""
-
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
-msgid "[forked] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
-msgid "[updated] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:795
-msgid "[downloaded] archive from repository"
-msgstr ""
-
 #: kallithea/lib/helpers.py:797
-msgid "[delete] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:805
-msgid "[created] user"
+msgid "[deleted] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
+msgid "[created] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:801
+msgid "[created] repository as fork"
+msgstr ""
+
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
+msgid "[forked] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
+msgid "[updated] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:807
-msgid "[updated] user"
+msgid "[downloaded] archive from repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:809
-msgid "[created] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:811
-msgid "[updated] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:813
-msgid "[commented] on revision in repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:815
-msgid "[commented] on pull request for"
+msgid "[delete] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:817
-msgid "[closed] pull request for"
+msgid "[created] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:819
-msgid "[pushed] into"
+msgid "[updated] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:821
-msgid "[committed via Kallithea] into repository"
+msgid "[created] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:823
-msgid "[pulled from remote] into repository"
+msgid "[updated] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:825
-msgid "[pulled] from"
+msgid "[commented] on revision in repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:827
-msgid "[started following] repository"
+msgid "[commented] on pull request for"
 msgstr ""
 
 #: kallithea/lib/helpers.py:829
+msgid "[closed] pull request for"
+msgstr ""
+
+#: kallithea/lib/helpers.py:831
+msgid "[pushed] into"
+msgstr ""
+
+#: kallithea/lib/helpers.py:833
+msgid "[committed via Kallithea] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:835
+msgid "[pulled from remote] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:837
+msgid "[pulled] from"
+msgstr ""
+
+#: kallithea/lib/helpers.py:839
+msgid "[started following] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr ""
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr ""
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr ""
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr ""
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:1285
-#, python-format
-msgid "%s repository is not mapped to db perhaps it was created or renamed from the filesystem please run the application again in order to rescan repositories"
+#: kallithea/lib/helpers.py:1297
+#, python-format
+msgid ""
+"%s repository is not mapped to db perhaps it was created or renamed from "
+"the filesystem please run the application again in order to rescan "
+"repositories"
 msgstr ""
 
 #: kallithea/lib/ssh.py:71
@@ -1406,11 +1420,13 @@
 msgstr ""
 
 #: kallithea/model/db.py:1663
-msgid "Repository creation enabled with write permission to a repository group"
+msgid ""
+"Repository creation enabled with write permission to a repository group"
 msgstr ""
 
 #: kallithea/model/db.py:1664
-msgid "Repository creation disabled with write permission to a repository group"
+msgid ""
+"Repository creation disabled with write permission to a repository group"
 msgstr ""
 
 #: kallithea/model/db.py:1666
@@ -1473,7 +1489,9 @@
 
 #: kallithea/model/notification.py:164
 #, python-format
-msgid "[Comment] %(repo_name)s changeset %(short_id)s \"%(message_short)s\" on %(branch)s"
+msgid ""
+"[Comment] %(repo_name)s changeset %(short_id)s \"%(message_short)s\" on "
+"%(branch)s"
 msgstr ""
 
 #: kallithea/model/notification.py:167
@@ -1483,12 +1501,16 @@
 
 #: kallithea/model/notification.py:169
 #, python-format
-msgid "[Review] %(repo_name)s PR %(pr_nice_id)s \"%(pr_title_short)s\" from %(pr_source_branch)s by %(pr_owner_username)s"
+msgid ""
+"[Review] %(repo_name)s PR %(pr_nice_id)s \"%(pr_title_short)s\" from "
+"%(pr_source_branch)s by %(pr_owner_username)s"
 msgstr ""
 
 #: kallithea/model/notification.py:170
 #, python-format
-msgid "[Comment] %(repo_name)s PR %(pr_nice_id)s \"%(pr_title_short)s\" from %(pr_source_branch)s by %(pr_owner_username)s"
+msgid ""
+"[Comment] %(repo_name)s PR %(pr_nice_id)s \"%(pr_title_short)s\" from "
+"%(pr_source_branch)s by %(pr_owner_username)s"
 msgstr ""
 
 #: kallithea/model/notification.py:183
@@ -1497,7 +1519,8 @@
 
 #: kallithea/model/pull_request.py:73
 #, python-format
-msgid "%(user)s wants you to review pull request %(pr_nice_id)s: %(pr_title)s"
+msgid ""
+"%(user)s wants you to review pull request %(pr_nice_id)s: %(pr_title)s"
 msgstr ""
 
 #: kallithea/model/pull_request.py:209
@@ -1506,7 +1529,9 @@
 
 #: kallithea/model/pull_request.py:217
 #, python-format
-msgid "Cannot create pull request - criss cross merge detected, please merge a later %s revision to %s"
+msgid ""
+"Cannot create pull request - criss cross merge detected, please merge a "
+"later %s revision to %s"
 msgstr ""
 
 #: kallithea/model/pull_request.py:245 kallithea/model/pull_request.py:380
@@ -1528,7 +1553,9 @@
 
 #: kallithea/model/pull_request.py:360
 #, python-format
-msgid "This iteration is based on another %s revision and there is no simple diff."
+msgid ""
+"This iteration is based on another %s revision and there is no simple "
+"diff."
 msgstr ""
 
 #: kallithea/model/pull_request.py:362
@@ -1565,22 +1592,29 @@
 msgstr ""
 
 #: kallithea/model/user.py:250
-msgid "You can't remove this user since it is crucial for the entire application"
+msgid ""
+"You can't remove this user since it is crucial for the entire application"
 msgstr ""
 
 #: kallithea/model/user.py:255
 #, python-format
-msgid "User \"%s\" still owns %s repositories and cannot be removed. Switch owners or remove those repositories: %s"
+msgid ""
+"User \"%s\" still owns %s repositories and cannot be removed. Switch "
+"owners or remove those repositories: %s"
 msgstr ""
 
 #: kallithea/model/user.py:260
 #, python-format
-msgid "User \"%s\" still owns %s repository groups and cannot be removed. Switch owners or remove those repository groups: %s"
+msgid ""
+"User \"%s\" still owns %s repository groups and cannot be removed. Switch "
+"owners or remove those repository groups: %s"
 msgstr ""
 
 #: kallithea/model/user.py:267
 #, python-format
-msgid "User \"%s\" still owns %s user groups and cannot be removed. Switch owners or remove those user groups: %s"
+msgid ""
+"User \"%s\" still owns %s user groups and cannot be removed. Switch "
+"owners or remove those user groups: %s"
 msgstr ""
 
 #: kallithea/model/user.py:361
@@ -1593,7 +1627,9 @@
 
 #: kallithea/model/user.py:409
 #, python-format
-msgid "The password to your account %s has been changed using password reset form."
+msgid ""
+"The password to your account %s has been changed using password reset "
+"form."
 msgstr ""
 
 #: kallithea/model/validators.py:52 kallithea/model/validators.py:53
@@ -1611,7 +1647,9 @@
 msgstr ""
 
 #: kallithea/model/validators.py:76
-msgid "Username may only contain alphanumeric characters underscores, periods or dashes and must begin with an alphanumeric character or underscore"
+msgid ""
+"Username may only contain alphanumeric characters underscores, periods or "
+"dashes and must begin with an alphanumeric character or underscore"
 msgstr ""
 
 #: kallithea/model/validators.py:103
@@ -1633,7 +1671,9 @@
 msgstr ""
 
 #: kallithea/model/validators.py:134
-msgid "user group name may only contain alphanumeric characters underscores, periods or dashes and must begin with alphanumeric character"
+msgid ""
+"user group name may only contain alphanumeric characters underscores, "
+"periods or dashes and must begin with alphanumeric character"
 msgstr ""
 
 #: kallithea/model/validators.py:174
@@ -1691,7 +1731,9 @@
 msgstr ""
 
 #: kallithea/model/validators.py:405
-msgid "Invalid repository URL. It must be a valid http, https, ssh, svn+http or svn+https URL"
+msgid ""
+"Invalid repository URL. It must be a valid http, https, ssh, svn+http or "
+"svn+https URL"
 msgstr ""
 
 #: kallithea/model/validators.py:430
@@ -1728,7 +1770,9 @@
 msgstr ""
 
 #: kallithea/model/validators.py:704
-msgid "The LDAP Login attribute of the CN must be specified - this is the name of the attribute that is equivalent to \"username\""
+msgid ""
+"The LDAP Login attribute of the CN must be specified - this is the name "
+"of the attribute that is equivalent to \"username\""
 msgstr ""
 
 #: kallithea/model/validators.py:716
@@ -1737,7 +1781,8 @@
 
 #: kallithea/model/validators.py:717
 #, python-format
-msgid "The network size (bits) must be within the range of 0-32 (not %(bits)r)"
+msgid ""
+"The network size (bits) must be within the range of 0-32 (not %(bits)r)"
 msgstr ""
 
 #: kallithea/model/validators.py:750
@@ -1915,7 +1960,9 @@
 msgstr ""
 
 #: kallithea/templates/password_reset.html:52
-msgid "A password reset link will be sent to the specified email address if it is registered in the system."
+msgid ""
+"A password reset link will be sent to the specified email address if it "
+"is registered in the system."
 msgstr ""
 
 #: kallithea/templates/password_reset_confirmation.html:23
@@ -1924,7 +1971,9 @@
 msgstr ""
 
 #: kallithea/templates/password_reset_confirmation.html:24
-msgid "Note that you must use the same browser session for this as the one used to request the password reset."
+msgid ""
+"Note that you must use the same browser session for this as the one used "
+"to request the password reset."
 msgstr ""
 
 #: kallithea/templates/password_reset_confirmation.html:29
@@ -2056,7 +2105,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/auth/auth_settings.html:32
-msgid "Comma-separated list of plugins; Kallithea will try user authentication in plugin order"
+msgid ""
+"Comma-separated list of plugins; Kallithea will try user authentication "
+"in plugin order"
 msgstr ""
 
 #: kallithea/templates/admin/auth/auth_settings.html:36
@@ -2110,7 +2161,9 @@
 #: kallithea/templates/admin/repos/repo_add_base.html:59
 #: kallithea/templates/admin/repos/repo_edit_settings.html:65
 #: kallithea/templates/forks/fork.html:61
-msgid "Private repositories are only visible to people explicitly added as collaborators."
+msgid ""
+"Private repositories are only visible to people explicitly added as "
+"collaborators."
 msgstr ""
 
 #: kallithea/templates/admin/defaults/defaults.html:42
@@ -2140,7 +2193,9 @@
 
 #: kallithea/templates/admin/gists/edit.html:35
 #, python-format
-msgid "Gist was updated since you started editing. Copy your changes and click %(here)s to reload new version."
+msgid ""
+"Gist was updated since you started editing. Copy your changes and click "
+"%(here)s to reload new version."
 msgstr ""
 
 #: kallithea/templates/admin/gists/edit.html:36
@@ -2503,7 +2558,8 @@
 
 #: kallithea/templates/admin/my_account/my_account_password.html:39
 #, python-format
-msgid "This account is managed with %s and the password cannot be changed here"
+msgid ""
+"This account is managed with %s and the password cannot be changed here"
 msgstr ""
 
 #: kallithea/templates/admin/my_account/my_account_perms.html:3
@@ -2608,11 +2664,16 @@
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:10
 #, python-format
-msgid "Allow access to Kallithea without needing to log in. Anonymous users use %s user permissions."
+msgid ""
+"Allow access to Kallithea without needing to log in. Anonymous users use "
+"%s user permissions."
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:19
-msgid "All default permissions on each repository will be reset to chosen permission, note that all custom default permission on repositories will be lost"
+msgid ""
+"All default permissions on each repository will be reset to chosen "
+"permission, note that all custom default permission on repositories will "
+"be lost"
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:20
@@ -2632,7 +2693,10 @@
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:32
-msgid "All default permissions on each repository group will be reset to chosen permission, note that all custom default permission on repository groups will be lost"
+msgid ""
+"All default permissions on each repository group will be reset to chosen "
+"permission, note that all custom default permission on repository groups "
+"will be lost"
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:33
@@ -2649,7 +2713,10 @@
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:45
-msgid "All default permissions on each user group will be reset to chosen permission, note that all custom default permission on user groups will be lost"
+msgid ""
+"All default permissions on each user group will be reset to chosen "
+"permission, note that all custom default permission on user groups will "
+"be lost"
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:46
@@ -2665,11 +2732,14 @@
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:56
-msgid "Enable this to allow non-admins to create repositories at the top level."
+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."
+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
@@ -2677,7 +2747,10 @@
 msgstr ""
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:64
-msgid "With this, write permission to a repository group allows creating repositories inside that group. Without this, group write permissions mean nothing."
+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
@@ -2724,7 +2797,8 @@
 #: kallithea/templates/admin/repo_groups/repo_group_edit.html:11
 #: kallithea/templates/admin/repo_groups/repo_group_edit_perms.html:89
 #: kallithea/templates/admin/repo_groups/repo_groups.html:9
-#: kallithea/templates/base/base.html:57 kallithea/templates/base/base.html:76
+#: kallithea/templates/base/base.html:57
+#: kallithea/templates/base/base.html:76
 msgid "Repository Groups"
 msgstr ""
 
@@ -2764,7 +2838,8 @@
 #: kallithea/templates/admin/repos/repo_edit.html:25
 #: kallithea/templates/admin/settings/settings.html:11
 #: kallithea/templates/admin/user_groups/user_group_edit.html:29
-#: kallithea/templates/base/base.html:63 kallithea/templates/base/base.html:152
+#: kallithea/templates/base/base.html:63
+#: kallithea/templates/base/base.html:152
 msgid "Settings"
 msgstr ""
 
@@ -2872,7 +2947,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repo_groups/repo_group_edit_perms.html:92
-msgid "Set or revoke permission to all children of that group, including non-private repositories and other groups if selected."
+msgid ""
+"Set or revoke permission to all children of that group, including non-"
+"private repositories and other groups if selected."
 msgstr ""
 
 #: kallithea/templates/admin/repo_groups/repo_group_edit_settings.html:38
@@ -2901,13 +2978,16 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_add_base.html:16
-msgid "Optional: URL of a remote repository. If set, the repository will be created as a clone from this URL."
+msgid ""
+"Optional: URL of a remote repository. If set, the repository will be "
+"created as a clone from this URL."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_add_base.html:24
 #: kallithea/templates/admin/repos/repo_edit_settings.html:57
 #: kallithea/templates/forks/fork.html:37
-msgid "Keep it short and to the point. Use a README file for longer descriptions."
+msgid ""
+"Keep it short and to the point. Use a README file for longer descriptions."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_add_base.html:31
@@ -2927,7 +3007,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_add_base.html:52
-msgid "Default revision for files page, downloads, full text search index and readme generation"
+msgid ""
+"Default revision for files page, downloads, full text search index and "
+"readme generation"
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_creating.html:9
@@ -2941,11 +3023,15 @@
 
 #: kallithea/templates/admin/repos/repo_creating.html:27
 #, python-format
-msgid "Repository \"%(repo_name)s\" is being created, you will be redirected when this process is finished.repo_name"
+msgid ""
+"Repository \"%(repo_name)s\" is being created, you will be redirected "
+"when this process is finished.repo_name"
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_creating.html:39
-msgid "We're sorry but error occurred during this operation. Please check your Kallithea server logs, or contact administrator."
+msgid ""
+"We're sorry but error occurred during this operation. Please check your "
+"Kallithea server logs, or contact administrator."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit.html:8
@@ -2997,7 +3083,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_advanced.html:37
-msgid "All actions done in this repository will be visible to everyone in the public journal."
+msgid ""
+"All actions done in this repository will be visible to everyone in the "
+"public journal."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_advanced.html:46
@@ -3026,7 +3114,10 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_advanced.html:62
-msgid "The deleted repository will be moved away and hidden until the administrator expires it. The administrator can both permanently delete it or restore it."
+msgid ""
+"The deleted repository will be moved away and hidden until the "
+"administrator expires it. The administrator can both permanently delete "
+"it or restore it."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_caches.html:4
@@ -3034,7 +3125,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_caches.html:6
-msgid "Manually invalidate cache for this repository. On first access, the repository will be cached again."
+msgid ""
+"Manually invalidate cache for this repository. On first access, the "
+"repository will be cached again."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_caches.html:9
@@ -3123,9 +3216,12 @@
 
 #: kallithea/templates/admin/repos/repo_edit_settings.html:14
 msgid ""
-"In case this repository is renamed or moved into another group the repository URL changes.\n"
-"                               Using the above permanent URL guarantees that this repository always will be accessible on that URL.\n"
-"                               This is useful for CI systems, or any other cases that you need to hardcode the URL into a 3rd party service."
+"In case this repository is renamed or moved into another group the "
+"repository URL changes.\n"
+"                               Using the above permanent URL guarantees "
+"that this repository always will be accessible on that URL.\n"
+"                               This is useful for CI systems, or any "
+"other cases that you need to hardcode the URL into a 3rd party service."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_settings.html:21
@@ -3137,7 +3233,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_settings.html:28
-msgid "Optional: URL of a remote repository. If set, the repository can be pulled from this URL."
+msgid ""
+"Optional: URL of a remote repository. If set, the repository can be "
+"pulled from this URL."
 msgstr ""
 
 #: kallithea/templates/admin/repos/repo_edit_settings.html:43
@@ -3231,7 +3329,12 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_global.html:22
-msgid "HTML (possibly with                         JavaScript and/or CSS) that will be added to the bottom                         of every page. This can be used for web analytics                         systems, but also to                         perform instance-specific customizations like adding a                         project banner at the top of every page."
+msgid ""
+"HTML (possibly with                         JavaScript and/or CSS) that "
+"will be added to the bottom                         of every page. This "
+"can be used for web analytics                         systems, but also "
+"to                         perform instance-specific customizations like "
+"adding a                         project banner at the top of every page."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_global.html:32
@@ -3247,7 +3350,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_global.html:43
-msgid "Private key for reCaptcha system. Setting this value will enable captcha on registration."
+msgid ""
+"Private key for reCaptcha system. Setting this value will enable captcha "
+"on registration."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_global.html:49
@@ -3265,7 +3370,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_hooks.html:18
-msgid "Hooks can be used to trigger actions on certain events such as push / pull. They can trigger Python functions or external applications."
+msgid ""
+"Hooks can be used to trigger actions on certain events such as push / "
+"pull. They can trigger Python functions or external applications."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_hooks.html:60
@@ -3281,7 +3388,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:12
-msgid "Check this option to remove all comments, pull requests and other records related to repositories that no longer exist in the filesystem."
+msgid ""
+"Check this option to remove all comments, pull requests and other records "
+"related to repositories that no longer exist in the filesystem."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:17
@@ -3297,7 +3406,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:28
-msgid "Verify if Kallithea's Git hooks are installed for each repository. Current hooks will be updated to the latest version."
+msgid ""
+"Verify if Kallithea's Git hooks are installed for each repository. "
+"Current hooks will be updated to the latest version."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:32
@@ -3305,7 +3416,10 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:35
-msgid "If installing Git hooks, overwrite any existing hooks, even if they do not seem to come from Kallithea. WARNING: This operation will destroy any custom git hooks you may have deployed by hand!"
+msgid ""
+"If installing Git hooks, overwrite any existing hooks, even if they do "
+"not seem to come from Kallithea. WARNING: This operation will destroy any "
+"custom git hooks you may have deployed by hand!"
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_mapping.html:41
@@ -3321,7 +3435,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_search.html:12
-msgid "This option completely reindexeses all of the repositories for proper fulltext search capabilities."
+msgid ""
+"This option completely reindexeses all of the repositories for proper "
+"fulltext search capabilities."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_search.html:18
@@ -3381,7 +3497,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_vcs.html:35
-msgid "Requires hgsubversion library to be installed. Enables cloning of remote Subversion repositories while converting them to Mercurial."
+msgid ""
+"Requires hgsubversion library to be installed. Enables cloning of remote "
+"Subversion repositories while converting them to Mercurial."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_vcs.html:47
@@ -3389,11 +3507,15 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_vcs.html:52
-msgid "Click to unlock. You must restart Kallithea in order to make this setting take effect."
+msgid ""
+"Click to unlock. You must restart Kallithea in order to make this setting "
+"take effect."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_vcs.html:56
-msgid "Filesystem location where repositories are stored. After changing this value, a restart and rescan of the repository folder are both required."
+msgid ""
+"Filesystem location where repositories are stored. After changing this "
+"value, a restart and rescan of the repository folder are both required."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:4
@@ -3413,7 +3535,8 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:20
-msgid "Shows or hides a version number of Kallithea displayed in the footer."
+msgid ""
+"Shows or hides a version number of Kallithea displayed in the footer."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:25
@@ -3423,12 +3546,18 @@
 #: kallithea/templates/admin/settings/settings_visual.html:29
 msgid ""
 "Gravatar URL allows you to use another avatar server application.\n"
-"                                                        The following variables of the URL will be replaced accordingly.\n"
-"                                                        {scheme}    'http' or 'https' sent from running Kallithea server,\n"
-"                                                        {email}     user email,\n"
-"                                                        {md5email}  md5 hash of the user email (like at gravatar.com),\n"
-"                                                        {size}      size of the image that is expected from the server application,\n"
-"                                                        {netloc}    network location/server host of running Kallithea server"
+"                                                        The following "
+"variables of the URL will be replaced accordingly.\n"
+"                                                        {scheme}    "
+"'http' or 'https' sent from running Kallithea server,\n"
+"                                                        {email}     user "
+"email,\n"
+"                                                        {md5email}  md5 "
+"hash of the user email (like at gravatar.com),\n"
+"                                                        {size}      size "
+"of the image that is expected from the server application,\n"
+"                                                        {netloc}    "
+"network location/server host of running Kallithea server"
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:40
@@ -3437,15 +3566,24 @@
 
 #: kallithea/templates/admin/settings/settings_visual.html:43
 msgid ""
-"Schema of clone URL construction eg. '{scheme}://{user}@{netloc}/{repo}'.\n"
-"                                                    The following variables are available:\n"
-"                                                    {scheme} 'http' or 'https' sent from running Kallithea server,\n"
-"                                                    {user}   current user username,\n"
-"                                                    {netloc} network location/server host of running Kallithea server,\n"
-"                                                    {repo}   full repository name,\n"
-"                                                    {repoid} ID of repository, can be used to construct clone-by-id,\n"
-"                                                    {system_user}  name of the Kallithea system user,\n"
-"                                                    {hostname}  server hostname\n"
+"Schema of clone URL construction eg. '{scheme}://{user}@{netloc}/"
+"{repo}'.\n"
+"                                                    The following "
+"variables are available:\n"
+"                                                    {scheme} 'http' or "
+"'https' sent from running Kallithea server,\n"
+"                                                    {user}   current user "
+"username,\n"
+"                                                    {netloc} network "
+"location/server host of running Kallithea server,\n"
+"                                                    {repo}   full "
+"repository name,\n"
+"                                                    {repoid} ID of "
+"repository, can be used to construct clone-by-id,\n"
+"                                                    {system_user}  name "
+"of the Kallithea system user,\n"
+"                                                    {hostname}  server "
+"hostname\n"
 "                                                    "
 msgstr ""
 
@@ -3454,7 +3592,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:59
-msgid "Schema for constructing SSH clone URL, eg. 'ssh://{system_user}@{hostname}/{repo}'."
+msgid ""
+"Schema for constructing SSH clone URL, eg. 'ssh://{system_user}"
+"@{hostname}/{repo}'."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:65
@@ -3462,7 +3602,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:68
-msgid "Number of items displayed in the repository pages before pagination is shown."
+msgid ""
+"Number of items displayed in the repository pages before pagination is "
+"shown."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:73
@@ -3470,7 +3612,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:76
-msgid "Number of items displayed in the admin pages grids before pagination is shown."
+msgid ""
+"Number of items displayed in the admin pages grids before pagination is "
+"shown."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:81
@@ -3494,7 +3638,9 @@
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:105
-msgid "Parses meta tags from the repository description field and turns them into colored tags."
+msgid ""
+"Parses meta tags from the repository description field and turns them "
+"into colored tags."
 msgstr ""
 
 #: kallithea/templates/admin/settings/settings_visual.html:109
@@ -3508,7 +3654,8 @@
 #: kallithea/templates/admin/user_groups/user_group_add.html:10
 #: kallithea/templates/admin/user_groups/user_group_edit.html:11
 #: kallithea/templates/admin/user_groups/user_groups.html:9
-#: kallithea/templates/base/base.html:59 kallithea/templates/base/base.html:79
+#: kallithea/templates/base/base.html:59
+#: kallithea/templates/base/base.html:79
 msgid "User Groups"
 msgstr ""
 
@@ -3656,11 +3803,13 @@
 msgid "Support"
 msgstr ""
 
-#: kallithea/templates/base/base.html:86 kallithea/templates/base/base.html:417
+#: kallithea/templates/base/base.html:86
+#: kallithea/templates/base/base.html:417
 msgid "Mercurial repository"
 msgstr ""
 
-#: kallithea/templates/base/base.html:89 kallithea/templates/base/base.html:420
+#: kallithea/templates/base/base.html:89
+#: kallithea/templates/base/base.html:420
 msgid "Git repository"
 msgstr ""
 
@@ -3722,7 +3871,8 @@
 msgid "Unfollow"
 msgstr ""
 
-#: kallithea/templates/base/base.html:171 kallithea/templates/forks/fork.html:9
+#: kallithea/templates/base/base.html:171
+#: kallithea/templates/forks/fork.html:9
 msgid "Fork"
 msgstr ""
 
@@ -4320,7 +4470,9 @@
 msgstr ""
 
 #: kallithea/templates/compare/compare_cs.html:15
-msgid "Please merge the target branch to your branch before creating a pull request."
+msgid ""
+"Please merge the target branch to your branch before creating a pull "
+"request."
 msgstr ""
 
 #: kallithea/templates/compare/compare_cs.html:19
@@ -4449,7 +4601,9 @@
 msgstr ""
 
 #: kallithea/templates/email_templates/password_reset.html:25
-msgid "This account is however managed outside this system and the password cannot be changed here."
+msgid ""
+"This account is however managed outside this system and the password "
+"cannot be changed here."
 msgstr ""
 
 #: kallithea/templates/email_templates/password_reset.html:28
@@ -4457,11 +4611,15 @@
 msgstr ""
 
 #: kallithea/templates/email_templates/password_reset.html:33
-msgid "Should you not be able to use the link above, please type the following code into the password reset form"
+msgid ""
+"Should you not be able to use the link above, please type the following "
+"code into the password reset form"
 msgstr ""
 
 #: kallithea/templates/email_templates/password_reset.html:44
-msgid "If it weren't you who requested the password reset, just disregard this message."
+msgid ""
+"If it weren't you who requested the password reset, just disregard this "
+"message."
 msgstr ""
 
 #: kallithea/templates/email_templates/pull_request.html:4
@@ -4931,7 +5089,9 @@
 msgstr ""
 
 #: kallithea/templates/pullrequests/pullrequest_show.html:95
-msgid "This is just a range of changesets and doesn't have a target or a real merge ancestor."
+msgid ""
+"This is just a range of changesets and doesn't have a target or a real "
+"merge ancestor."
 msgstr ""
 
 #: kallithea/templates/pullrequests/pullrequest_show.html:103
@@ -4947,7 +5107,9 @@
 msgstr ""
 
 #: kallithea/templates/pullrequests/pullrequest_show.html:177
-msgid "Pull request iterations do not change content once created. Select a revision to create a new iteration."
+msgid ""
+"Pull request iterations do not change content once created. Select a "
+"revision to create a new iteration."
 msgstr ""
 
 #: kallithea/templates/pullrequests/pullrequest_show.html:187
--- a/kallithea/i18n/uk/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/uk/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3.2\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2019-11-13 10:04+0000\n"
 "Last-Translator: Oleksandr Shtalinberg <o.shtalinberg@gmail.com>\n"
 "Language-Team: Ukrainian <https://hosted.weblate.org/projects/kallithea/"
@@ -13,8 +13,8 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
-"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
 #: kallithea/controllers/changelog.py:67
@@ -124,12 +124,12 @@
 msgstr ""
 "На сервері виявлено неочікувану умову, яка перешкоджала виконанню запиту."
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr "%s зафіксовано на %s"
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -139,12 +139,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr "Changeset був занадто великий і був відрізаний..."
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr "%s %s канал"
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr "Зміни в репозиторії  %s"
@@ -213,7 +213,8 @@
 
 #: kallithea/controllers/files.py:461
 msgid "Location must be relative path and must not contain .. in path"
-msgstr "Розташування має бути відносним шляхом і не повинен містити .. в шляху"
+msgstr ""
+"Розташування має бути відносним шляхом і не повинен містити .. в шляху"
 
 #: kallithea/controllers/files.py:493
 msgid "Downloads disabled"
@@ -400,7 +401,8 @@
 #: kallithea/controllers/pullrequests.py:506
 #, python-format
 msgid "Error: changesets not found when displaying pull request from %s."
-msgstr "Помилка: changesets не знайдено під час відображення pull request з %s."
+msgstr ""
+"Помилка: changesets не знайдено під час відображення pull request з %s."
 
 #: kallithea/controllers/pullrequests.py:520
 #, python-format
@@ -411,34 +413,34 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr "Цей pull request закрито, його не можна оновити."
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr "Наступні додаткові зміни доступні на %s:"
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 msgid "No additional changesets found for iterating on this pull request."
 msgstr "Немає додаткових змін для ітератування на  pull request."
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr "Примітка: гілка %s має іншу голову: %s."
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 msgid "Git pull requests don't support iterating yet."
 msgstr "Git pull requests не підтримують ітерацію."
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, python-format
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr ""
-"Помилка: деякі changesets  не знайдені під час відображення pull request з "
-"%s."
-
-#: kallithea/controllers/pullrequests.py:588
+"Помилка: деякі changesets  не знайдені під час відображення pull request "
+"з %s."
+
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr "Різниця не може бути показана - версії PR не вдалося знайти."
 
@@ -454,12 +456,12 @@
 msgid "An error occurred during search operation."
 msgstr "Сталася помилка під час операції пошуку."
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr "Дані ще не готові"
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr "Статистичні дані для цього репозиторію вимкнено"
@@ -884,13 +886,13 @@
 msgid "Updated VCS settings"
 msgstr "Оновлені налаштування VCS"
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
 msgstr ""
-"Не вдається активувати підтримку hgsubversion. Бібліотека \"hgsubversion\" "
-"відсутня"
+"Не вдається активувати підтримку hgsubversion. Бібліотека \"hgsubversion"
+"\" відсутня"
 
 #: kallithea/controllers/admin/settings.py:141
 #: kallithea/controllers/admin/settings.py:233
@@ -934,8 +936,8 @@
 #: kallithea/controllers/admin/settings.py:357
 msgid "Builtin hooks are read-only. Please use another hook name."
 msgstr ""
-"Вбудовані hooks доступні лише для читання. Будь ласка, використовуйте інше "
-"ім'я hook."
+"Вбудовані hooks доступні лише для читання. Будь ласка, використовуйте "
+"інше ім'я hook."
 
 #: kallithea/controllers/admin/settings.py:360
 msgid "Added new hook"
@@ -1079,166 +1081,166 @@
 msgid "No changes detected"
 msgstr "Не виявлено змін"
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr "Видалено гілку: %s"
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr "Створено тег: %s"
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, python-format
 msgid "Changeset %s not found"
 msgstr "Набір змін %s не знайдено"
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr "Показати всі комбіновані набори змін %s- >%s"
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr "Порівняйте вигляд"
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr "і"
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr "%s більше"
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr "редакції"
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr "Ім'я розгалуження %s"
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr "Pull request %s"
 
-#: kallithea/lib/helpers.py:785
+#: kallithea/lib/helpers.py:797
 msgid "[deleted] repository"
 msgstr "[видалений] репозиторій"
 
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
 msgid "[created] repository"
 msgstr "[створено] репозиторій"
 
-#: kallithea/lib/helpers.py:789
+#: kallithea/lib/helpers.py:801
 msgid "[created] repository as fork"
 msgstr "[створено] репозиторій як fork"
 
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
 msgid "[forked] repository"
 msgstr "[forked] репозиторій"
 
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
 msgid "[updated] repository"
 msgstr "[оновлено] репозиторій"
 
-#: kallithea/lib/helpers.py:795
+#: kallithea/lib/helpers.py:807
 msgid "[downloaded] archive from repository"
 msgstr "[завантажити] архів з репозиторію"
 
-#: kallithea/lib/helpers.py:797
+#: kallithea/lib/helpers.py:809
 msgid "[delete] repository"
 msgstr "[видалити] репозиторій"
 
-#: kallithea/lib/helpers.py:805
+#: kallithea/lib/helpers.py:817
 msgid "[created] user"
 msgstr "[створено] користувач"
 
-#: kallithea/lib/helpers.py:807
+#: kallithea/lib/helpers.py:819
 msgid "[updated] user"
 msgstr "[оновлений] користувач"
 
-#: kallithea/lib/helpers.py:809
+#: kallithea/lib/helpers.py:821
 msgid "[created] user group"
 msgstr "[створено] групу користувачів"
 
-#: kallithea/lib/helpers.py:811
+#: kallithea/lib/helpers.py:823
 msgid "[updated] user group"
 msgstr "[оновлено] група користувачів"
 
-#: kallithea/lib/helpers.py:813
+#: kallithea/lib/helpers.py:825
 msgid "[commented] on revision in repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:815
-msgid "[commented] on pull request for"
-msgstr ""
-
-#: kallithea/lib/helpers.py:817
-msgid "[closed] pull request for"
-msgstr ""
-
-#: kallithea/lib/helpers.py:819
-msgid "[pushed] into"
-msgstr ""
-
-#: kallithea/lib/helpers.py:821
-msgid "[committed via Kallithea] into repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:823
-msgid "[pulled from remote] into repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:825
-msgid "[pulled] from"
-msgstr ""
-
 #: kallithea/lib/helpers.py:827
-msgid "[started following] repository"
+msgid "[commented] on pull request for"
 msgstr ""
 
 #: kallithea/lib/helpers.py:829
+msgid "[closed] pull request for"
+msgstr ""
+
+#: kallithea/lib/helpers.py:831
+msgid "[pushed] into"
+msgstr ""
+
+#: kallithea/lib/helpers.py:833
+msgid "[committed via Kallithea] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:835
+msgid "[pulled from remote] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:837
+msgid "[pulled] from"
+msgstr ""
+
+#: kallithea/lib/helpers.py:839
+msgid "[started following] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr "Файлів немає"
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr "новий файл"
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr ""
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr "перейменувати"
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr "chmod"
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
@@ -1368,11 +1370,13 @@
 
 #: kallithea/model/db.py:1640
 msgid "Default user has read access to new repositories"
-msgstr "Користувач за замовчанням має доступ на перегляд  нових репозиторіїв"
+msgstr ""
+"Користувач за замовчанням має доступ на перегляд  нових репозиторіїв"
 
 #: kallithea/model/db.py:1641
 msgid "Default user has write access to new repositories"
-msgstr "Користувач за замовчуванням має доступ до запису до нових репозиторіїв"
+msgstr ""
+"Користувач за замовчуванням має доступ до запису до нових репозиторіїв"
 
 #: kallithea/model/db.py:1642
 msgid "Default user has admin access to new repositories"
@@ -1381,7 +1385,8 @@
 
 #: kallithea/model/db.py:1644
 msgid "Default user has no access to new repository groups"
-msgstr "Користувач за замовчуванням не має доступу до нових груп репозиторіїв"
+msgstr ""
+"Користувач за замовчуванням не має доступу до нових груп репозиторіїв"
 
 #: kallithea/model/db.py:1645
 msgid "Default user has read access to new repository groups"
@@ -2742,7 +2747,8 @@
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:49
 msgid "Permissions for the Default user on new user groups."
-msgstr "Дозволи для користувача за замовчуванням для нових груп користувачів."
+msgstr ""
+"Дозволи для користувача за замовчуванням для нових груп користувачів."
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:53
 msgid "Top level repository creation"
@@ -2787,7 +2793,8 @@
 #: kallithea/templates/admin/permissions/permissions_globals.html:78
 msgid "Enable this to allow non-admins to fork repositories."
 msgstr ""
-"Увімкніть цей параметр, щоб дозволити не-адміністраторам fork репозиторіїв."
+"Увімкніть цей параметр, щоб дозволити не-адміністраторам fork "
+"репозиторіїв."
 
 #: kallithea/templates/admin/permissions/permissions_globals.html:82
 msgid "Registration"
@@ -3116,8 +3123,8 @@
 "All actions done in this repository will be visible to everyone in the "
 "public journal."
 msgstr ""
-"Усі дії, зроблені в цьому репозиторії, будуть видимими для всіх у публічному "
-"журналі."
+"Усі дії, зроблені в цьому репозиторії, будуть видимими для всіх у "
+"публічному журналі."
 
 #: kallithea/templates/admin/repos/repo_edit_advanced.html:46
 #: kallithea/templates/data_table/_dt_elements.html:68
@@ -3161,8 +3168,8 @@
 "Manually invalidate cache for this repository. On first access, the "
 "repository will be cached again."
 msgstr ""
-"Вручну скинути кеш для цього репозиторію. При першому доступі, сховище буде "
-"знову кешовано."
+"Вручну скинути кеш для цього репозиторію. При першому доступі, сховище "
+"буде знову кешовано."
 
 #: kallithea/templates/admin/repos/repo_edit_caches.html:9
 msgid "List of Cached Values"
@@ -3271,8 +3278,8 @@
 "Optional: URL of a remote repository. If set, the repository can be "
 "pulled from this URL."
 msgstr ""
-"Опціонально: URL-адреса віддаленого сховища. Якщо встановлено, сховище можна "
-"витягнути з цієї URL-адреси."
+"Опціонально: URL-адреса віддаленого сховища. Якщо встановлено, сховище "
+"можна витягнути з цієї URL-адреси."
 
 #: kallithea/templates/admin/repos/repo_edit_settings.html:43
 msgid "Default revision for files page, downloads, whoosh and readme"
@@ -3390,8 +3397,8 @@
 "Private key for reCaptcha system. Setting this value will enable captcha "
 "on registration."
 msgstr ""
-"Приватний ключ для системи reCaptcha. Встановлення цього значення дозволить "
-"вмикнути капчу при реєстрації."
+"Приватний ключ для системи reCaptcha. Встановлення цього значення "
+"дозволить вмикнути капчу при реєстрації."
 
 #: kallithea/templates/admin/settings/settings_global.html:49
 #: kallithea/templates/admin/settings/settings_vcs.html:65
@@ -3467,8 +3474,8 @@
 "custom git hooks you may have deployed by hand!"
 msgstr ""
 "При установці Git хуків, перезаписати будь-які існуючі хуки, навіть якщо "
-"вони, здається, не приходять з Каллітея. Увага: ця операція знищить будь-які "
-"користувацькі хуки Git які ви, можливо, розгорнули вручну!"
+"вони, здається, не приходять з Каллітея. Увага: ця операція знищить будь-"
+"які користувацькі хуки Git які ви, можливо, розгорнули вручну!"
 
 #: kallithea/templates/admin/settings/settings_mapping.html:41
 msgid "Rescan Repositories"
@@ -3487,8 +3494,8 @@
 "This option completely reindexeses all of the repositories for proper "
 "fulltext search capabilities."
 msgstr ""
-"Цей варіант повністю переіндексує репозиторії для правильного функціонування "
-"повнотекстового пошуку."
+"Цей варіант повністю переіндексує репозиторії для правильного "
+"функціонування повнотекстового пошуку."
 
 #: kallithea/templates/admin/settings/settings_search.html:18
 msgid "Reindex"
@@ -3563,8 +3570,8 @@
 "Click to unlock. You must restart Kallithea in order to make this setting "
 "take effect."
 msgstr ""
-"Клацніть, щоб розблокувати. Ви повинні перезапустити Kallithea для того, щоб "
-"ця настройка набула чинності."
+"Клацніть, щоб розблокувати. Ви повинні перезапустити Kallithea для того, "
+"щоб ця настройка набула чинності."
 
 #: kallithea/templates/admin/settings/settings_vcs.html:56
 msgid ""
@@ -3662,8 +3669,8 @@
 "Number of items displayed in the repository pages before pagination is "
 "shown."
 msgstr ""
-"Кількість елементів, що відображаються на сторінках сховища перед показаним "
-"нумерацією."
+"Кількість елементів, що відображаються на сторінках сховища перед "
+"показаним нумерацією."
 
 #: kallithea/templates/admin/settings/settings_visual.html:73
 msgid "Admin page size"
@@ -3674,8 +3681,8 @@
 "Number of items displayed in the admin pages grids before pagination is "
 "shown."
 msgstr ""
-"Кількість елементів, що відображаються в сітках адміністратора сторінки до "
-"відображення нумерації."
+"Кількість елементів, що відображаються в сітках адміністратора сторінки "
+"до відображення нумерації."
 
 #: kallithea/templates/admin/settings/settings_visual.html:81
 msgid "Icons"
--- a/kallithea/i18n/zh_CN/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/zh_CN/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2019-08-14 19:00+0000\n"
 "Last-Translator: Elizabeth Sherrock <lizzyd710@gmail.com>\n"
 "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
@@ -125,12 +125,12 @@
 "fulfilling the request."
 msgstr "服务进入非预期的混乱状态,这会阻止它对请求进行响应。"
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr ""
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -140,12 +140,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr "修订集太大并已被截断..."
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr "%s %s订阅"
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr "%s库的修改"
@@ -418,35 +418,35 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 #, fuzzy
 #| msgid "No changesets found for updating this pull request."
 msgid "No additional changesets found for iterating on this pull request."
 msgstr "没有找到更新此拉取请求的修订集。"
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 msgid "Git pull requests don't support iterating yet."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, fuzzy, python-format
 #| msgid "No changesets found for updating this pull request."
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr "没有找到更新此拉取请求的修订集。"
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -462,12 +462,12 @@
 msgid "An error occurred during search operation."
 msgstr "搜索操作期间发生错误。"
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr "数据尚未就绪"
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr "该版本库统计功能已经禁用"
@@ -894,7 +894,7 @@
 msgid "Updated VCS settings"
 msgstr "成功更新版本控制系统设置"
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1087,167 +1087,167 @@
 msgid "No changes detected"
 msgstr "未发现差异"
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr "已经删除分支%s"
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr "创建标签%s"
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, fuzzy, python-format
 msgid "Changeset %s not found"
 msgstr "未找到修订集"
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr "显示所有合并的修订集 %s->%s"
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 #, fuzzy
 msgid "Compare view"
 msgstr "比较显示"
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr "还有"
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr "%s个"
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr "修订"
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, fuzzy, python-format
 msgid "Fork name %s"
 msgstr "复刻名称%s"
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, fuzzy, python-format
 msgid "Pull request %s"
 msgstr "拉取请求#%s"
 
-#: kallithea/lib/helpers.py:785
+#: kallithea/lib/helpers.py:797
 msgid "[deleted] repository"
 msgstr "[删除]版本库"
 
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
 msgid "[created] repository"
 msgstr "[创建]版本库"
 
-#: kallithea/lib/helpers.py:789
+#: kallithea/lib/helpers.py:801
 msgid "[created] repository as fork"
 msgstr "[创建]复刻版本库"
 
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
 msgid "[forked] repository"
 msgstr "[复刻]版本库"
 
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
 msgid "[updated] repository"
 msgstr "[更新]版本库"
 
-#: kallithea/lib/helpers.py:795
+#: kallithea/lib/helpers.py:807
 msgid "[downloaded] archive from repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:797
-msgid "[delete] repository"
-msgstr "[删除]版本库"
-
-#: kallithea/lib/helpers.py:805
-msgid "[created] user"
-msgstr "[创建]用户"
-
-#: kallithea/lib/helpers.py:807
-msgid "[updated] user"
-msgstr "[更新]用户"
-
 #: kallithea/lib/helpers.py:809
+msgid "[delete] repository"
+msgstr "[删除]版本库"
+
+#: kallithea/lib/helpers.py:817
+msgid "[created] user"
+msgstr "[创建]用户"
+
+#: kallithea/lib/helpers.py:819
+msgid "[updated] user"
+msgstr "[更新]用户"
+
+#: kallithea/lib/helpers.py:821
 msgid "[created] user group"
 msgstr ""
 
-#: kallithea/lib/helpers.py:811
+#: kallithea/lib/helpers.py:823
 msgid "[updated] user group"
 msgstr ""
 
-#: kallithea/lib/helpers.py:813
+#: kallithea/lib/helpers.py:825
 msgid "[commented] on revision in repository"
 msgstr "[评论]了版本库中的修订"
 
-#: kallithea/lib/helpers.py:815
+#: kallithea/lib/helpers.py:827
 msgid "[commented] on pull request for"
 msgstr "[评论]拉取请求"
 
-#: kallithea/lib/helpers.py:817
+#: kallithea/lib/helpers.py:829
 msgid "[closed] pull request for"
 msgstr "[关闭] 拉取请求"
 
-#: kallithea/lib/helpers.py:819
+#: kallithea/lib/helpers.py:831
 msgid "[pushed] into"
 msgstr "[推送]到"
 
-#: kallithea/lib/helpers.py:821
+#: kallithea/lib/helpers.py:833
 msgid "[committed via Kallithea] into repository"
 msgstr "[通过Kallithea提交]到版本库"
 
-#: kallithea/lib/helpers.py:823
+#: kallithea/lib/helpers.py:835
 msgid "[pulled from remote] into repository"
 msgstr "[远程拉取]到版本库"
 
-#: kallithea/lib/helpers.py:825
+#: kallithea/lib/helpers.py:837
 msgid "[pulled] from"
 msgstr "[拉取]自"
 
-#: kallithea/lib/helpers.py:827
+#: kallithea/lib/helpers.py:839
 msgid "[started following] repository"
 msgstr "[开始关注]版本库"
 
-#: kallithea/lib/helpers.py:829
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr "[停止关注]版本库"
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr " 还有%s个"
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr "无文件"
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr ""
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr ""
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr ""
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/i18n/zh_TW/LC_MESSAGES/kallithea.po	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/i18n/zh_TW/LC_MESSAGES/kallithea.po	Thu Nov 14 23:36:16 2019 +0100
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: Kallithea 0.3\n"
 "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n"
-"POT-Creation-Date: 2019-09-02 21:36+0200\n"
+"POT-Creation-Date: 2019-11-14 23:33+0100\n"
 "PO-Revision-Date: 2017-03-10 18:26+0000\n"
 "Last-Translator: mao <mao@lins.fju.edu.tw>\n"
 "Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
@@ -125,12 +125,12 @@
 "fulfilling the request."
 msgstr ""
 
-#: kallithea/controllers/feed.py:64
+#: kallithea/controllers/feed.py:63
 #, python-format
 msgid "%s committed on %s"
 msgstr "%s 評論於 %s"
 
-#: kallithea/controllers/feed.py:89
+#: kallithea/controllers/feed.py:88
 #: kallithea/templates/changeset/changeset.html:154
 #: kallithea/templates/changeset/changeset.html:173
 #: kallithea/templates/compare/compare_diff.html:81
@@ -140,12 +140,12 @@
 msgid "Changeset was too big and was cut off..."
 msgstr ""
 
-#: kallithea/controllers/feed.py:112 kallithea/controllers/feed.py:144
+#: kallithea/controllers/feed.py:111 kallithea/controllers/feed.py:140
 #, python-format
 msgid "%s %s feed"
 msgstr ""
 
-#: kallithea/controllers/feed.py:114 kallithea/controllers/feed.py:146
+#: kallithea/controllers/feed.py:113 kallithea/controllers/feed.py:142
 #, python-format
 msgid "Changes on %s repository"
 msgstr "修改於版本庫 %s"
@@ -414,32 +414,32 @@
 msgid "This pull request has been closed and can not be updated."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:541
+#: kallithea/controllers/pullrequests.py:546
 #, python-format
 msgid "The following additional changes are available on %s:"
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:543
-#: kallithea/controllers/pullrequests.py:547
+#: kallithea/controllers/pullrequests.py:548
+#: kallithea/controllers/pullrequests.py:552
 msgid "No additional changesets found for iterating on this pull request."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:555
+#: kallithea/controllers/pullrequests.py:560
 #, python-format
 msgid "Note: Branch %s has another head: %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:562
+#: kallithea/controllers/pullrequests.py:567
 msgid "Git pull requests don't support iterating yet."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:564
+#: kallithea/controllers/pullrequests.py:569
 #, python-format
 msgid ""
 "Error: some changesets not found when displaying pull request from %s."
 msgstr ""
 
-#: kallithea/controllers/pullrequests.py:588
+#: kallithea/controllers/pullrequests.py:593
 msgid "The diff can't be shown - the PR revisions could not be found."
 msgstr ""
 
@@ -455,12 +455,12 @@
 msgid "An error occurred during search operation."
 msgstr ""
 
-#: kallithea/controllers/summary.py:171
+#: kallithea/controllers/summary.py:168
 #: kallithea/templates/summary/summary.html:412
 msgid "No data ready yet"
 msgstr ""
 
-#: kallithea/controllers/summary.py:174
+#: kallithea/controllers/summary.py:171
 #: kallithea/templates/summary/summary.html:97
 msgid "Statistics are disabled for this repository"
 msgstr "這個版本庫的統計功能已停用"
@@ -883,7 +883,7 @@
 msgid "Updated VCS settings"
 msgstr ""
 
-#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:235
+#: kallithea/controllers/admin/settings.py:135 kallithea/lib/utils.py:237
 msgid ""
 "Unable to activate hgsubversion support. The \"hgsubversion\" library is "
 "missing"
@@ -1075,167 +1075,167 @@
 msgid "No changes detected"
 msgstr "尚未有任何變更"
 
-#: kallithea/lib/helpers.py:641
+#: kallithea/lib/helpers.py:653
 #, python-format
 msgid "Deleted branch: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:643
+#: kallithea/lib/helpers.py:655
 #, python-format
 msgid "Created tag: %s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:654
+#: kallithea/lib/helpers.py:666
 #, fuzzy, python-format
 #| msgid "Set changeset status"
 msgid "Changeset %s not found"
 msgstr "尚未有任何變更"
 
-#: kallithea/lib/helpers.py:703
+#: kallithea/lib/helpers.py:715
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr ""
 
-#: kallithea/lib/helpers.py:709
+#: kallithea/lib/helpers.py:721
 msgid "Compare view"
 msgstr ""
 
-#: kallithea/lib/helpers.py:728
+#: kallithea/lib/helpers.py:740
 msgid "and"
 msgstr "和"
 
-#: kallithea/lib/helpers.py:729
+#: kallithea/lib/helpers.py:741
 #, python-format
 msgid "%s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:730
+#: kallithea/lib/helpers.py:742
 #: kallithea/templates/changelog/changelog.html:43
 msgid "revisions"
 msgstr "修訂"
 
-#: kallithea/lib/helpers.py:754
+#: kallithea/lib/helpers.py:766
 #, python-format
 msgid "Fork name %s"
 msgstr "分支名稱 %s"
 
-#: kallithea/lib/helpers.py:775
+#: kallithea/lib/helpers.py:787
 #, python-format
 msgid "Pull request %s"
 msgstr "提取要求 %s"
 
-#: kallithea/lib/helpers.py:785
+#: kallithea/lib/helpers.py:797
 msgid "[deleted] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:787 kallithea/lib/helpers.py:799
+#: kallithea/lib/helpers.py:799 kallithea/lib/helpers.py:811
 msgid "[created] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:789
+#: kallithea/lib/helpers.py:801
 msgid "[created] repository as fork"
 msgstr ""
 
-#: kallithea/lib/helpers.py:791 kallithea/lib/helpers.py:801
+#: kallithea/lib/helpers.py:803 kallithea/lib/helpers.py:813
 msgid "[forked] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:793 kallithea/lib/helpers.py:803
+#: kallithea/lib/helpers.py:805 kallithea/lib/helpers.py:815
 msgid "[updated] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:795
-msgid "[downloaded] archive from repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:797
-msgid "[delete] repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:805
-msgid "[created] user"
-msgstr ""
-
 #: kallithea/lib/helpers.py:807
-msgid "[updated] user"
+msgid "[downloaded] archive from repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:809
-msgid "[created] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:811
-msgid "[updated] user group"
-msgstr ""
-
-#: kallithea/lib/helpers.py:813
-msgid "[commented] on revision in repository"
-msgstr ""
-
-#: kallithea/lib/helpers.py:815
-msgid "[commented] on pull request for"
+msgid "[delete] repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:817
-msgid "[closed] pull request for"
+msgid "[created] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:819
-msgid "[pushed] into"
+msgid "[updated] user"
 msgstr ""
 
 #: kallithea/lib/helpers.py:821
-msgid "[committed via Kallithea] into repository"
+msgid "[created] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:823
-msgid "[pulled from remote] into repository"
+msgid "[updated] user group"
 msgstr ""
 
 #: kallithea/lib/helpers.py:825
-msgid "[pulled] from"
+msgid "[commented] on revision in repository"
 msgstr ""
 
 #: kallithea/lib/helpers.py:827
-msgid "[started following] repository"
+msgid "[commented] on pull request for"
 msgstr ""
 
 #: kallithea/lib/helpers.py:829
+msgid "[closed] pull request for"
+msgstr ""
+
+#: kallithea/lib/helpers.py:831
+msgid "[pushed] into"
+msgstr ""
+
+#: kallithea/lib/helpers.py:833
+msgid "[committed via Kallithea] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:835
+msgid "[pulled from remote] into repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:837
+msgid "[pulled] from"
+msgstr ""
+
+#: kallithea/lib/helpers.py:839
+msgid "[started following] repository"
+msgstr ""
+
+#: kallithea/lib/helpers.py:841
 msgid "[stopped following] repository"
 msgstr ""
 
-#: kallithea/lib/helpers.py:949
+#: kallithea/lib/helpers.py:961
 #, python-format
 msgid " and %s more"
 msgstr ""
 
-#: kallithea/lib/helpers.py:953
+#: kallithea/lib/helpers.py:965
 #: kallithea/templates/compare/compare_diff.html:69
 #: kallithea/templates/pullrequests/pullrequest_show.html:297
 msgid "No files"
 msgstr ""
 
-#: kallithea/lib/helpers.py:978
+#: kallithea/lib/helpers.py:990
 msgid "new file"
 msgstr ""
 
-#: kallithea/lib/helpers.py:981
+#: kallithea/lib/helpers.py:993
 msgid "mod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:984
+#: kallithea/lib/helpers.py:996
 msgid "del"
 msgstr ""
 
-#: kallithea/lib/helpers.py:987
+#: kallithea/lib/helpers.py:999
 msgid "rename"
 msgstr ""
 
-#: kallithea/lib/helpers.py:992
+#: kallithea/lib/helpers.py:1004
 msgid "chmod"
 msgstr ""
 
-#: kallithea/lib/helpers.py:1285
+#: kallithea/lib/helpers.py:1297
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from "
--- a/kallithea/lib/helpers.py	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/lib/helpers.py	Thu Nov 14 23:36:16 2019 +0100
@@ -38,7 +38,6 @@
 from webhelpers2.html.tags import submit, text, textarea
 from webhelpers2.number import format_byte_size
 from webhelpers2.text import chop_at, truncate, wrap_paragraphs
-from webhelpers.pylonslib import Flash as _Flash
 
 from kallithea.config.routing import url
 from kallithea.lib.annotate import annotate_highlight
@@ -420,7 +419,7 @@
 
 
 class _Message(object):
-    """A message returned by ``Flash.pop_messages()``.
+    """A message returned by ``pop_flash_messages()``.
 
     Converting the message to a string returns the message text. Instances
     also have the following attributes:
@@ -442,39 +441,52 @@
         return escape(safe_unicode(self.message))
 
 
-class Flash(_Flash):
-
-    def __call__(self, message, category=None, ignore_duplicate=False, logf=None):
-        """
-        Show a message to the user _and_ log it through the specified function
-
-        category: notice (default), warning, error, success
-        logf: a custom log function - such as log.debug
-
-        logf defaults to log.info, unless category equals 'success', in which
-        case logf defaults to log.debug.
-        """
-        if logf is None:
-            logf = log.info
-            if category == 'success':
-                logf = log.debug
-
-        logf('Flash %s: %s', category, message)
-
-        super(Flash, self).__call__(message, category, ignore_duplicate)
-
-    def pop_messages(self):
-        """Return all accumulated messages and delete them from the session.
-
-        The return value is a list of ``Message`` objects.
-        """
-        from tg import session
-        messages = session.pop(self.session_key, [])
-        session.save()
-        return [_Message(*m) for m in messages]
+def _session_flash_messages(append=None, clear=False):
+    """Manage a message queue in tg.session: return the current message queue
+    after appending the given message, and possibly clearing the queue."""
+    key = 'flash'
+    from tg import session
+    if key in session:
+        flash_messages = session[key]
+    else:
+        if append is None:  # common fast path - also used for clearing empty queue
+            return []  # don't bother saving
+        flash_messages = []
+        session[key] = flash_messages
+    if append is not None and append not in flash_messages:
+        flash_messages.append(append)
+    if clear:
+        session.pop(key, None)
+    session.save()
+    return flash_messages
 
 
-flash = Flash()
+def flash(message, category=None, logf=None):
+    """
+    Show a message to the user _and_ log it through the specified function
+
+    category: notice (default), warning, error, success
+    logf: a custom log function - such as log.debug
+
+    logf defaults to log.info, unless category equals 'success', in which
+    case logf defaults to log.debug.
+    """
+    if logf is None:
+        logf = log.info
+        if category == 'success':
+            logf = log.debug
+
+    logf('Flash %s: %s', category, message)
+
+    _session_flash_messages(append=(category, message))
+
+
+def pop_flash_messages():
+    """Return all accumulated messages and delete them from the session.
+
+    The return value is a list of ``Message`` objects.
+    """
+    return [_Message(*m) for m in _session_flash_messages(clear=True)]
 
 
 age = lambda x, y=False: _age(x, y)
@@ -529,13 +541,16 @@
     return _type == 'hg'
 
 
-@cache_region('long_term', 'user_or_none')
-def user_or_none(author):
-    """Try to match email part of VCS committer string with a local user - or return None"""
-    from kallithea.model.db import User
+@cache_region('long_term', 'user_attr_or_none')
+def user_attr_or_none(author, show_attr):
+    """Try to match email part of VCS committer string with a local user and return show_attr
+    - or return None if user not found"""
     email = author_email(author)
     if email:
-        return User.get_by_email(email, cache=True) # cache will only use sql_cache_short
+        from kallithea.model.db import User
+        user = User.get_by_email(email, cache=True) # cache will only use sql_cache_short
+        if user is not None:
+            return getattr(user, show_attr)
     return None
 
 
@@ -544,9 +559,9 @@
     Return primary email of user, email part of the specified author name, or None."""
     if not author:
         return None
-    user = user_or_none(author)
-    if user is not None:
-        return user.email # always use main email address - not necessarily the one used to find user
+    email = user_attr_or_none(author, 'email')
+    if email is not None:
+        return email # always use user's main email address - not necessarily the one used to find user
 
     # extract email from the commit string
     email = author_email(author)
@@ -561,16 +576,13 @@
     """Find the user identified by 'author', return one of the users attributes,
     default to the username attribute, None if there is no user"""
     from kallithea.model.db import User
-    # attr to return from fetched user
-    person_getter = lambda usr: getattr(usr, show_attr)
-
     # if author is already an instance use it for extraction
     if isinstance(author, User):
-        return person_getter(author)
+        return getattr(author, show_attr)
 
-    user = user_or_none(author)
-    if user is not None:
-        return person_getter(user)
+    value = user_attr_or_none(author, show_attr)
+    if value is not None:
+        return value
 
     # Still nothing?  Just pass back the author name if any, else the email
     return author_name(author) or email(author)
--- a/kallithea/lib/middleware/wrapper.py	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/lib/middleware/wrapper.py	Thu Nov 14 23:36:16 2019 +0100
@@ -15,7 +15,8 @@
 kallithea.lib.middleware.wrapper
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-request time measuring app
+Wrap app to measure request and response time ... all the way to the response
+WSGI iterator has been closed.
 
 This file was forked by the Kallithea project in July 2014.
 Original author and date, and relevant copyright and licensing information is below:
@@ -32,6 +33,54 @@
 from kallithea.lib.utils2 import safe_unicode
 
 
+log = logging.getLogger(__name__)
+
+
+class Meter:
+
+    def __init__(self, start_response):
+        self._start_response = start_response
+        self._start = time.time()
+        self._size = 0
+
+    def duration(self):
+        return time.time() - self._start
+
+    def start_response(self, status, response_headers, exc_info=None):
+        write = self._start_response(status, response_headers, exc_info)
+        def metered_write(s):
+            self.measure(s)
+            write(s)
+        return metered_write
+
+    def measure(self, chunk):
+        self._size += len(chunk)
+
+    def size(self):
+        return self._size
+
+
+class ResultIter:
+
+    def __init__(self, result, meter, description):
+        self._result_close = getattr(result, 'close', None) or (lambda: None)
+        self._next = iter(result).next
+        self._meter = meter
+        self._description = description
+
+    def __iter__(self):
+        return self
+
+    def next(self):
+        chunk = self._next()
+        self._meter.measure(chunk)
+        return chunk
+
+    def close(self):
+        self._result_close()
+        log.info("%s responded after %.3fs with %s bytes", self._description, self._meter.duration(), self._meter.size())
+
+
 class RequestWrapper(object):
 
     def __init__(self, app, config):
@@ -39,12 +88,13 @@
         self.config = config
 
     def __call__(self, environ, start_response):
-        start = time.time()
+        meter = Meter(start_response)
+        description = "Request from %s for %s" % (
+            _get_ip_addr(environ),
+            safe_unicode(_get_access_path(environ)),
+        )
         try:
-            return self.application(environ, start_response)
+            result = self.application(environ, meter.start_response)
         finally:
-            log = logging.getLogger('kallithea.' + self.__class__.__name__)
-            log.info('IP: %s Request to %s time: %.3fs' % (
-                _get_ip_addr(environ),
-                safe_unicode(_get_access_path(environ)), time.time() - start)
-            )
+            log.info("%s responding after %.3fs", description, meter.duration())
+        return ResultIter(result, meter, description)
--- a/kallithea/lib/utils.py	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/lib/utils.py	Thu Nov 14 23:36:16 2019 +0100
@@ -29,7 +29,9 @@
 import logging
 import os
 import re
+import sys
 import traceback
+from distutils.version import StrictVersion
 
 import beaker
 from beaker.cache import _cache_decorate
@@ -576,38 +578,49 @@
 # MISC
 #==============================================================================
 
+git_req_ver = StrictVersion('1.7.4')
+
 def check_git_version():
     """
-    Checks what version of git is installed in system, and issues a warning
+    Checks what version of git is installed on the system, and raise a system exit
     if it's too old for Kallithea to work properly.
     """
     from kallithea import BACKENDS
     from kallithea.lib.vcs.backends.git.repository import GitRepository
     from kallithea.lib.vcs.conf import settings
-    from distutils.version import StrictVersion
 
     if 'git' not in BACKENDS:
         return None
 
+    if not settings.GIT_EXECUTABLE_PATH:
+        log.warning('No git executable configured - check "git_path" in the ini file.')
+        return None
+
     stdout, stderr = GitRepository._run_git_command(['--version'], _bare=True,
                                                     _safe=True)
 
+    if stderr:
+        log.warning('Error/stderr from "%s --version": %r', settings.GIT_EXECUTABLE_PATH, stderr)
+
     m = re.search(r"\d+.\d+.\d+", stdout)
     if m:
         ver = StrictVersion(m.group(0))
+        log.debug('Git executable: "%s", version %s (parsed from: "%s")',
+                  settings.GIT_EXECUTABLE_PATH, ver, stdout.strip())
+        if ver < git_req_ver:
+            log.error('Kallithea detected %s version %s, which is too old '
+                      'for the system to function properly. '
+                      'Please upgrade to version %s or later. '
+                      'If you strictly need Mercurial repositories, you can '
+                      'clear the "git_path" setting in the ini file.',
+                      settings.GIT_EXECUTABLE_PATH, ver, git_req_ver)
+            log.error("Terminating ...")
+            sys.exit(1)
     else:
         ver = StrictVersion('0.0.0')
-
-    req_ver = StrictVersion('1.7.4')
+        log.warning('Error finding version number in "%s --version" stdout: %r',
+                    settings.GIT_EXECUTABLE_PATH, stdout.strip())
 
-    log.debug('Git executable: "%s" version %s detected: %s',
-              settings.GIT_EXECUTABLE_PATH, ver, stdout)
-    if stderr:
-        log.warning('Error detecting git version: %r', stderr)
-    elif ver < req_ver:
-        log.warning('Kallithea detected git version %s, which is too old '
-                    'for the system to function properly. '
-                    'Please upgrade to version %s or later.' % (ver, req_ver))
     return ver
 
 
--- a/kallithea/lib/vcs/backends/git/repository.py	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/lib/vcs/backends/git/repository.py	Thu Nov 14 23:36:16 2019 +0100
@@ -144,7 +144,10 @@
             else:
                 raise RepositoryError(tb_err)
 
-        return ''.join(p.output), ''.join(p.error)
+        try:
+            return ''.join(p.output), ''.join(p.error)
+        finally:
+            p.close()
 
     def run_git_command(self, cmd):
         opts = {}
--- a/kallithea/lib/vcs/subprocessio.py	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/lib/vcs/subprocessio.py	Thu Nov 14 23:36:16 2019 +0100
@@ -205,9 +205,6 @@
         except (GeneratorExit, StopIteration):
             pass
 
-    def __del__(self):
-        self.close()
-
     ####################
     # Threaded reader's infrastructure.
     ####################
@@ -426,6 +423,3 @@
             os.close(self.inputstream)
         except:
             pass
-
-    def __del__(self):
-        self.close()
--- a/kallithea/lib/vcs/utils/lockfiles.py	Sun Nov 03 15:35:08 2019 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-import os
-
-
-class LockFile(object):
-    """Provides methods to obtain, check for, and release a file based lock which
-    should be used to handle concurrent access to the same file.
-
-    As we are a utility class to be derived from, we only use protected methods.
-
-    Locks will automatically be released on destruction"""
-    __slots__ = ("_file_path", "_owns_lock")
-
-    def __init__(self, file_path):
-        self._file_path = file_path
-        self._owns_lock = False
-
-    def __del__(self):
-        self._release_lock()
-
-    def _lock_file_path(self):
-        """:return: Path to lockfile"""
-        return "%s.lock" % (self._file_path)
-
-    def _has_lock(self):
-        """:return: True if we have a lock and if the lockfile still exists
-        :raise AssertionError: if our lock-file does not exist"""
-        if not self._owns_lock:
-            return False
-
-        return True
-
-    def _obtain_lock_or_raise(self):
-        """Create a lock file as flag for other instances, mark our instance as lock-holder
-
-        :raise IOError: if a lock was already present or a lock file could not be written"""
-        if self._has_lock():
-            return
-        lock_file = self._lock_file_path()
-        if os.path.isfile(lock_file):
-            raise IOError("Lock for file %r did already exist, delete %r in case the lock is illegal" % (self._file_path, lock_file))
-
-        try:
-            fd = os.open(lock_file, os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0)
-            os.close(fd)
-        except OSError as e:
-            raise IOError(str(e))
-
-        self._owns_lock = True
-
-    def _obtain_lock(self):
-        """The default implementation will raise if a lock cannot be obtained.
-        Subclasses may override this method to provide a different implementation"""
-        return self._obtain_lock_or_raise()
-
-    def _release_lock(self):
-        """Release our lock if we have one"""
-        if not self._has_lock():
-            return
-
-        # if someone removed our file beforehand, lets just flag this issue
-        # instead of failing, to make it more usable.
-        lfp = self._lock_file_path()
-        try:
-            # on bloody windows, the file needs write permissions to be removable.
-            # Why ...
-            if os.name == 'nt':
-                os.chmod(lfp, 0777)
-            # END handle win32
-            os.remove(lfp)
-        except OSError:
-            pass
-        self._owns_lock = False
--- a/kallithea/model/scm.py	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/model/scm.py	Thu Nov 14 23:36:16 2019 +0100
@@ -48,7 +48,7 @@
 from kallithea.lib.vcs.exceptions import RepositoryError
 from kallithea.lib.vcs.nodes import FileNode
 from kallithea.lib.vcs.utils.lazy import LazyProperty
-from kallithea.model.db import CacheInvalidation, PullRequest, RepoGroup, Repository, Session, Ui, User, UserFollowing, UserLog
+from kallithea.model.db import PullRequest, RepoGroup, Repository, Session, Ui, User, UserFollowing, UserLog
 
 
 log = logging.getLogger(__name__)
@@ -217,9 +217,9 @@
         :param repo_name: the repo for which caches should be marked invalid
         """
         log.debug("Marking %s as invalidated and update cache", repo_name)
-        CacheInvalidation.set_invalidate(repo_name)
         repo = Repository.get_by_repo_name(repo_name)
         if repo is not None:
+            repo.set_invalidate()
             repo.update_changeset_cache()
 
     def toggle_following_repo(self, follow_repo_id, user_id):
@@ -274,7 +274,7 @@
             log.error(traceback.format_exc())
             raise
 
-    def is_following_repo(self, repo_name, user_id, cache=False):
+    def is_following_repo(self, repo_name, user_id):
         r = Repository.query() \
             .filter(Repository.repo_name == repo_name).scalar()
 
@@ -284,7 +284,7 @@
 
         return f is not None
 
-    def is_following_user(self, username, user_id, cache=False):
+    def is_following_user(self, username, user_id):
         u = User.get_by_username(username)
 
         f = UserFollowing.query() \
--- a/kallithea/model/user.py	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/model/user.py	Thu Nov 14 23:36:16 2019 +0100
@@ -38,7 +38,7 @@
 
 from kallithea.lib.caching_query import FromCache
 from kallithea.lib.exceptions import DefaultUserException, UserOwnsReposException
-from kallithea.lib.utils2 import generate_api_key, get_current_authuser, safe_str
+from kallithea.lib.utils2 import generate_api_key, get_current_authuser, safe_unicode
 from kallithea.model.db import Permission, User, UserEmailMap, UserIpMap, UserToPerm
 from kallithea.model.meta import Session
 
@@ -142,9 +142,9 @@
             new_user.admin = admin
             new_user.email = email
             new_user.active = active
-            new_user.extern_name = safe_str(extern_name) \
+            new_user.extern_name = safe_unicode(extern_name) \
                 if extern_name else None
-            new_user.extern_type = safe_str(extern_type) \
+            new_user.extern_type = safe_unicode(extern_type) \
                 if extern_type else None
             new_user.name = firstname
             new_user.lastname = lastname
--- a/kallithea/model/user_group.py	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/model/user_group.py	Thu Nov 14 23:36:16 2019 +0100
@@ -88,14 +88,14 @@
                         target_user_group=user_group, user_group=member, perm=perm
                     )
 
-    def get(self, user_group_id, cache=False):
+    def get(self, user_group_id):
         return UserGroup.get(user_group_id)
 
     def get_group(self, user_group):
         return UserGroup.guess_instance(user_group)
 
     def get_by_name(self, name, cache=False, case_insensitive=False):
-        return UserGroup.get_by_group_name(name, cache, case_insensitive)
+        return UserGroup.get_by_group_name(name, cache=cache, case_insensitive=case_insensitive)
 
     def create(self, name, description, owner, active=True, group_data=None):
         try:
--- a/kallithea/templates/base/flash_msg.html	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/templates/base/flash_msg.html	Thu Nov 14 23:36:16 2019 +0100
@@ -1,5 +1,5 @@
 <div class="flash_msg">
-    <% messages = h.flash.pop_messages() %>
+    <% messages = h.pop_flash_messages() %>
     % if messages:
         <% alert_categories = {'warning': 'alert-warning', 'notice': 'alert-info', 'error': 'alert-danger', 'success': 'alert-success'} %>
         % for message in messages:
--- a/kallithea/templates/summary/summary.html	Sun Nov 03 15:35:08 2019 +0100
+++ b/kallithea/templates/summary/summary.html	Thu Nov 14 23:36:16 2019 +0100
@@ -104,7 +104,7 @@
 
             <div class="form-group">
               <label>${_('Download')}:</label>
-              <div>
+              <div class="form-inline">
                 %if len(c.db_repo_scm_instance.revisions) == 0:
                   ${_('There are no downloads yet')}
                 %elif not c.enable_downloads:
@@ -116,7 +116,7 @@
                     <span id="${'zip_link'}">
                         <a class="btn btn-default btn-sm" href="${h.url('files_archive_home',repo_name=c.db_repo.repo_name,fname='tip.zip')}"><i class="icon-file-zip"></i>${_('Download as zip')}</a>
                     </span>
-                    ${h.hidden('download_options')}
+                    ${h.hidden('download_options', class_='form-control')}
                     <span>
                       <label data-toggle="tooltip" title="${_('Check this to download archive with subrepos')}">
                           <input id="archive_subrepos" type="checkbox" name="subrepos" />
--- a/scripts/validate-commits	Sun Nov 03 15:35:08 2019 +0100
+++ b/scripts/validate-commits	Thu Nov 14 23:36:16 2019 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/bash
 # Validate the specified commits against test suite and other checks.
 
 if [ -n "$VIRTUAL_ENV" ]; then
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/validate-minimum-dependency-versions	Thu Nov 14 23:36:16 2019 +0100
@@ -0,0 +1,55 @@
+#!/bin/bash
+# Test that installation of all dependencies works fine if versions are set to
+# the minimum ones.
+
+set -e
+
+if [ -n "$VIRTUAL_ENV" ]; then
+    echo "This script will create its own virtualenv - please don't run it inside an existing one." >&2
+    exit 1
+fi
+
+cd "$(hg root)"
+
+venv=build/minimum-dependency-versions-venv
+log=build/minimum-dependency-versions.log
+min_requirements=build/minimum-dependency-versions-requirements.txt
+echo "virtualenv: $venv"
+echo "log: $log"
+echo "minimum requirements file: $min_requirements"
+
+# clean up previous runs
+rm -rf "$venv" "$log"
+mkdir -p "$venv"
+
+# Make a light weight parsing of setup.py and dev_requirements.txt,
+# finding all >= requirements and dumping into a custom requirements.txt
+# while fixating the requirement at the lower bound.
+sed -n 's/.*"\(.*\)>=\(.*\)".*/\1==\2/p' setup.py > "$min_requirements"
+sed 's/>=/==/p' dev_requirements.txt >> "$min_requirements"
+
+virtualenv -p "$(command -v python2)" "$venv"
+source "$venv/bin/activate"
+pip install --upgrade pip setuptools
+pip install -e . -r "$min_requirements" python-ldap python-pam 2> >(tee "$log" >&2)
+
+# Strip out the known Python 2.7 deprecation message.
+sed -i '/DEPRECATION: Python 2\.7 will reach the end of its life/d' "$log"
+
+# Treat any message on stderr as a problem, for the caller to interpret.
+if [ -s "$log" ]; then
+    echo
+    echo "Error: pip detected following problems:"
+    cat "$log"
+    echo
+    exit 1
+fi
+
+freeze_txt=build/minimum-dependency-versions.txt
+pip freeze > $freeze_txt
+echo "Installation of minimum packages was successful, providing a set of packages as in $freeze_txt . Now running test suite..."
+
+pytest
+
+echo "Test suite execution was successful."
+echo "You can now do additional validation using virtual env '$venv'."
--- a/scripts/whitespacecleanup.sh	Sun Nov 03 15:35:08 2019 +0100
+++ b/scripts/whitespacecleanup.sh	Thu Nov 14 23:36:16 2019 +0100
@@ -2,7 +2,7 @@
 
 # Enforce some consistency in whitespace - just to avoid spurious whitespaces changes
 
-files=`hg mani | egrep -v '/fontello/|/email_templates/|(/lockfiles.py|^LICENSE-MERGELY.html|^docs/Makefile|^scripts/whitespacecleanup.sh|/(graph|mergely|native.history)\.js|/test_dump_html_mails.ref.html|\.png|\.gif|\.ico|\.pot|\.po|\.mo|\.tar\.gz|\.diff)$'`
+files=`hg mani | egrep -v '/fontello/|/email_templates/|(^LICENSE-MERGELY.html|^docs/Makefile|^scripts/whitespacecleanup.sh|/(graph|mergely|native.history)\.js|/test_dump_html_mails.ref.html|\.png|\.gif|\.ico|\.pot|\.po|\.mo|\.tar\.gz|\.diff)$'`
 
 sed -i "s/`printf '\r'`//g" $files
 sed -i -e "s,`printf '\t'`,    ,g" $files
--- a/setup.cfg	Sun Nov 03 15:35:08 2019 +0100
+++ b/setup.cfg	Thu Nov 14 23:36:16 2019 +0100
@@ -16,7 +16,6 @@
 output_file = kallithea/i18n/kallithea.pot
 msgid-bugs-address = translations@kallithea-scm.org
 copyright-holder = Various authors, licensing as GPLv3
-no-wrap = true
 
 [init_catalog]
 domain = kallithea
--- a/setup.py	Sun Nov 03 15:35:08 2019 +0100
+++ b/setup.py	Thu Nov 14 23:36:16 2019 +0100
@@ -41,7 +41,7 @@
 
 requirements = [
     "alembic >= 0.8.0, < 1.1",
-    "gearbox < 1",
+    "gearbox >= 0.1.0, < 1",
     "waitress >= 0.8.8, < 1.4",
     "WebOb >= 1.7, < 1.9",
     "backlash >= 0.1.2, < 1",
@@ -53,7 +53,7 @@
     "FormEncode >= 1.3.0, < 1.4",
     "SQLAlchemy >= 1.1, < 1.4",
     "Mako >= 0.9.0, < 1.1",
-    "Pygments >= 2.0, < 2.5",
+    "Pygments >= 2.2.0, < 2.5",
     "Whoosh >= 2.5.0, < 2.8",
     "celery >= 3.1, < 4.0", # TODO: celery 4 doesn't work
     "Babel >= 1.3, < 2.8",
@@ -63,7 +63,7 @@
     "URLObject >= 2.3.4, < 2.5",
     "Routes >= 1.13, < 2", # TODO: bumping to 2.0 will make test_file_annotation fail
     "dulwich >= 0.14.1, < 0.20",
-    "mercurial >= 4.5, < 5.2",
+    "mercurial >= 4.5, < 5.3",
     "decorator >= 3.3.2, < 4.5",
     "Paste >= 2.0.3, < 3.1",
     "bleach >= 3.0, < 3.2",