##// END OF EJS Templates
release: merge back stable branch into default
milka -
r4642:cced0269 merge default
parent child Browse files
Show More
@@ -0,0 +1,46 b''
1 |RCE| 4.24.1 |RNS|
2 ------------------
3
4 Release Date
5 ^^^^^^^^^^^^
6
7 - 2021-02-04
8
9
10 New Features
11 ^^^^^^^^^^^^
12
13
14
15 General
16 ^^^^^^^
17
18 - Core: added statsd client for statistics usage.
19 - Clone urls: allow custom clone by id template so users can set clone-by-id as default.
20 - Automation: enable check for new version for EE edition as automation task that will send notifications when new RhodeCode version is available
21
22 Security
23 ^^^^^^^^
24
25
26
27 Performance
28 ^^^^^^^^^^^
29
30 - Core: bumped git to 2.30.0
31
32
33 Fixes
34 ^^^^^
35
36 - Comments: add ability to resolve todos from the side-bar. This should prevent situations
37 when a TODO was left over in outdated/removed code pieces, and users needs to search to resolve them.
38 - Pull requests: fixed a case when template marker was used in description field causing 500 errors on commenting.
39 - Merges: fixed excessive data saved in merge metadata that could not fit inside the DB table.
40 - Exceptions: fixed problem with exceptions formatting resulting in limited exception data reporting.
41
42
43 Upgrade notes
44 ^^^^^^^^^^^^^
45
46 - Un-scheduled release addressing problems in 4.24.X releases.
@@ -0,0 +1,12 b''
1 diff -rup pytest-4.6.5-orig/setup.py pytest-4.6.5/setup.py
2 --- pytest-4.6.5-orig/setup.py 2018-04-10 10:23:04.000000000 +0200
3 +++ pytest-4.6.5/setup.py 2018-04-10 10:23:34.000000000 +0200
4 @@ -24,7 +24,7 @@ INSTALL_REQUIRES = [
5 def main():
6 setup(
7 use_scm_version={"write_to": "src/_pytest/_version.py"},
8 - setup_requires=["setuptools-scm", "setuptools>=40.0"],
9 + setup_requires=["setuptools-scm", "setuptools<=42.0"],
10 package_dir={"": "src"},
11 # fmt: off
12 extras_require={ No newline at end of file
@@ -0,0 +1,46 b''
1 from __future__ import absolute_import, division, unicode_literals
2
3 import logging
4
5 from .stream import TCPStatsClient, UnixSocketStatsClient # noqa
6 from .udp import StatsClient # noqa
7
8 HOST = 'localhost'
9 PORT = 8125
10 IPV6 = False
11 PREFIX = None
12 MAXUDPSIZE = 512
13
14 log = logging.getLogger('rhodecode.statsd')
15
16
17 def statsd_config(config, prefix='statsd.'):
18 _config = {}
19 for key in config.keys():
20 if key.startswith(prefix):
21 _config[key[len(prefix):]] = config[key]
22 return _config
23
24
25 def client_from_config(configuration, prefix='statsd.', **kwargs):
26 from pyramid.settings import asbool
27
28 _config = statsd_config(configuration, prefix)
29 statsd_enabled = asbool(_config.pop('enabled', False))
30 if not statsd_enabled:
31 log.debug('statsd client not enabled by statsd.enabled = flag, skipping...')
32 return
33
34 host = _config.pop('statsd_host', HOST)
35 port = _config.pop('statsd_port', PORT)
36 prefix = _config.pop('statsd_prefix', PREFIX)
37 maxudpsize = _config.pop('statsd_maxudpsize', MAXUDPSIZE)
38 ipv6 = asbool(_config.pop('statsd_ipv6', IPV6))
39 log.debug('configured statsd client %s:%s', host, port)
40
41 return StatsClient(
42 host=host, port=port, prefix=prefix, maxudpsize=maxudpsize, ipv6=ipv6)
43
44
45 def get_statsd_client(request):
46 return client_from_config(request.registry.settings)
@@ -0,0 +1,107 b''
1 from __future__ import absolute_import, division, unicode_literals
2
3 import random
4 from collections import deque
5 from datetime import timedelta
6
7 from .timer import Timer
8
9
10 class StatsClientBase(object):
11 """A Base class for various statsd clients."""
12
13 def close(self):
14 """Used to close and clean up any underlying resources."""
15 raise NotImplementedError()
16
17 def _send(self):
18 raise NotImplementedError()
19
20 def pipeline(self):
21 raise NotImplementedError()
22
23 def timer(self, stat, rate=1):
24 return Timer(self, stat, rate)
25
26 def timing(self, stat, delta, rate=1):
27 """
28 Send new timing information.
29
30 `delta` can be either a number of milliseconds or a timedelta.
31 """
32 if isinstance(delta, timedelta):
33 # Convert timedelta to number of milliseconds.
34 delta = delta.total_seconds() * 1000.
35 self._send_stat(stat, '%0.6f|ms' % delta, rate)
36
37 def incr(self, stat, count=1, rate=1):
38 """Increment a stat by `count`."""
39 self._send_stat(stat, '%s|c' % count, rate)
40
41 def decr(self, stat, count=1, rate=1):
42 """Decrement a stat by `count`."""
43 self.incr(stat, -count, rate)
44
45 def gauge(self, stat, value, rate=1, delta=False):
46 """Set a gauge value."""
47 if value < 0 and not delta:
48 if rate < 1:
49 if random.random() > rate:
50 return
51 with self.pipeline() as pipe:
52 pipe._send_stat(stat, '0|g', 1)
53 pipe._send_stat(stat, '%s|g' % value, 1)
54 else:
55 prefix = '+' if delta and value >= 0 else ''
56 self._send_stat(stat, '%s%s|g' % (prefix, value), rate)
57
58 def set(self, stat, value, rate=1):
59 """Set a set value."""
60 self._send_stat(stat, '%s|s' % value, rate)
61
62 def _send_stat(self, stat, value, rate):
63 self._after(self._prepare(stat, value, rate))
64
65 def _prepare(self, stat, value, rate):
66 if rate < 1:
67 if random.random() > rate:
68 return
69 value = '%s|@%s' % (value, rate)
70
71 if self._prefix:
72 stat = '%s.%s' % (self._prefix, stat)
73
74 return '%s:%s' % (stat, value)
75
76 def _after(self, data):
77 if data:
78 self._send(data)
79
80
81 class PipelineBase(StatsClientBase):
82
83 def __init__(self, client):
84 self._client = client
85 self._prefix = client._prefix
86 self._stats = deque()
87
88 def _send(self):
89 raise NotImplementedError()
90
91 def _after(self, data):
92 if data is not None:
93 self._stats.append(data)
94
95 def __enter__(self):
96 return self
97
98 def __exit__(self, typ, value, tb):
99 self.send()
100
101 def send(self):
102 if not self._stats:
103 return
104 self._send()
105
106 def pipeline(self):
107 return self.__class__(self)
@@ -0,0 +1,75 b''
1 from __future__ import absolute_import, division, unicode_literals
2
3 import socket
4
5 from .base import StatsClientBase, PipelineBase
6
7
8 class StreamPipeline(PipelineBase):
9 def _send(self):
10 self._client._after('\n'.join(self._stats))
11 self._stats.clear()
12
13
14 class StreamClientBase(StatsClientBase):
15 def connect(self):
16 raise NotImplementedError()
17
18 def close(self):
19 if self._sock and hasattr(self._sock, 'close'):
20 self._sock.close()
21 self._sock = None
22
23 def reconnect(self):
24 self.close()
25 self.connect()
26
27 def pipeline(self):
28 return StreamPipeline(self)
29
30 def _send(self, data):
31 """Send data to statsd."""
32 if not self._sock:
33 self.connect()
34 self._do_send(data)
35
36 def _do_send(self, data):
37 self._sock.sendall(data.encode('ascii') + b'\n')
38
39
40 class TCPStatsClient(StreamClientBase):
41 """TCP version of StatsClient."""
42
43 def __init__(self, host='localhost', port=8125, prefix=None,
44 timeout=None, ipv6=False):
45 """Create a new client."""
46 self._host = host
47 self._port = port
48 self._ipv6 = ipv6
49 self._timeout = timeout
50 self._prefix = prefix
51 self._sock = None
52
53 def connect(self):
54 fam = socket.AF_INET6 if self._ipv6 else socket.AF_INET
55 family, _, _, _, addr = socket.getaddrinfo(
56 self._host, self._port, fam, socket.SOCK_STREAM)[0]
57 self._sock = socket.socket(family, socket.SOCK_STREAM)
58 self._sock.settimeout(self._timeout)
59 self._sock.connect(addr)
60
61
62 class UnixSocketStatsClient(StreamClientBase):
63 """Unix domain socket version of StatsClient."""
64
65 def __init__(self, socket_path, prefix=None, timeout=None):
66 """Create a new client."""
67 self._socket_path = socket_path
68 self._timeout = timeout
69 self._prefix = prefix
70 self._sock = None
71
72 def connect(self):
73 self._sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
74 self._sock.settimeout(self._timeout)
75 self._sock.connect(self._socket_path)
@@ -0,0 +1,71 b''
1 from __future__ import absolute_import, division, unicode_literals
2
3 import functools
4
5 # Use timer that's not susceptible to time of day adjustments.
6 try:
7 # perf_counter is only present on Py3.3+
8 from time import perf_counter as time_now
9 except ImportError:
10 # fall back to using time
11 from time import time as time_now
12
13
14 def safe_wraps(wrapper, *args, **kwargs):
15 """Safely wraps partial functions."""
16 while isinstance(wrapper, functools.partial):
17 wrapper = wrapper.func
18 return functools.wraps(wrapper, *args, **kwargs)
19
20
21 class Timer(object):
22 """A context manager/decorator for statsd.timing()."""
23
24 def __init__(self, client, stat, rate=1):
25 self.client = client
26 self.stat = stat
27 self.rate = rate
28 self.ms = None
29 self._sent = False
30 self._start_time = None
31
32 def __call__(self, f):
33 """Thread-safe timing function decorator."""
34 @safe_wraps(f)
35 def _wrapped(*args, **kwargs):
36 start_time = time_now()
37 try:
38 return f(*args, **kwargs)
39 finally:
40 elapsed_time_ms = 1000.0 * (time_now() - start_time)
41 self.client.timing(self.stat, elapsed_time_ms, self.rate)
42 return _wrapped
43
44 def __enter__(self):
45 return self.start()
46
47 def __exit__(self, typ, value, tb):
48 self.stop()
49
50 def start(self):
51 self.ms = None
52 self._sent = False
53 self._start_time = time_now()
54 return self
55
56 def stop(self, send=True):
57 if self._start_time is None:
58 raise RuntimeError('Timer has not started.')
59 dt = time_now() - self._start_time
60 self.ms = 1000.0 * dt # Convert to milliseconds.
61 if send:
62 self.send()
63 return self
64
65 def send(self):
66 if self.ms is None:
67 raise RuntimeError('No data recorded.')
68 if self._sent:
69 raise RuntimeError('Already sent data.')
70 self._sent = True
71 self.client.timing(self.stat, self.ms, self.rate)
@@ -0,0 +1,55 b''
1 from __future__ import absolute_import, division, unicode_literals
2
3 import socket
4
5 from .base import StatsClientBase, PipelineBase
6
7
8 class Pipeline(PipelineBase):
9
10 def __init__(self, client):
11 super(Pipeline, self).__init__(client)
12 self._maxudpsize = client._maxudpsize
13
14 def _send(self):
15 data = self._stats.popleft()
16 while self._stats:
17 # Use popleft to preserve the order of the stats.
18 stat = self._stats.popleft()
19 if len(stat) + len(data) + 1 >= self._maxudpsize:
20 self._client._after(data)
21 data = stat
22 else:
23 data += '\n' + stat
24 self._client._after(data)
25
26
27 class StatsClient(StatsClientBase):
28 """A client for statsd."""
29
30 def __init__(self, host='localhost', port=8125, prefix=None,
31 maxudpsize=512, ipv6=False):
32 """Create a new client."""
33 fam = socket.AF_INET6 if ipv6 else socket.AF_INET
34 family, _, _, _, addr = socket.getaddrinfo(
35 host, port, fam, socket.SOCK_DGRAM)[0]
36 self._addr = addr
37 self._sock = socket.socket(family, socket.SOCK_DGRAM)
38 self._prefix = prefix
39 self._maxudpsize = maxudpsize
40
41 def _send(self, data):
42 """Send data to statsd."""
43 try:
44 self._sock.sendto(data.encode('ascii'), self._addr)
45 except (socket.error, RuntimeError):
46 # No time for love, Dr. Jones!
47 pass
48
49 def close(self):
50 if self._sock and hasattr(self._sock, 'close'):
51 self._sock.close()
52 self._sock = None
53
54 def pipeline(self):
55 return Pipeline(self)
@@ -0,0 +1,64 b''
1 # -*- coding: utf-8 -*-
2
3 import logging
4 from sqlalchemy import *
5
6 from alembic.migration import MigrationContext
7 from alembic.operations import Operations
8
9 from rhodecode.lib.dbmigrate.versions import _reset_base
10 from rhodecode.model import meta, init_model_encryption
11
12
13 log = logging.getLogger(__name__)
14
15
16 def upgrade(migrate_engine):
17 """
18 Upgrade operations go here.
19 Don't create your own engine; bind migrate_engine to your metadata
20 """
21 _reset_base(migrate_engine)
22 from rhodecode.lib.dbmigrate.schema import db_4_20_0_0 as db
23
24 init_model_encryption(db)
25
26 # issue fixups
27 fixups(db, meta.Session)
28
29
30 def downgrade(migrate_engine):
31 meta = MetaData()
32 meta.bind = migrate_engine
33
34
35 def fixups(models, _SESSION):
36 # now create new changed value of clone_url
37 Optional = models.Optional
38
39 def get_by_name(cls, key):
40 return cls.query().filter(cls.app_settings_name == key).scalar()
41
42 def create_or_update(cls, key, val=Optional(''), type_=Optional('unicode')):
43 res = get_by_name(cls, key)
44 if not res:
45 val = Optional.extract(val)
46 type_ = Optional.extract(type_)
47 res = cls(key, val, type_)
48 else:
49 res.app_settings_name = key
50 if not isinstance(val, Optional):
51 # update if set
52 res.app_settings_value = val
53 if not isinstance(type_, Optional):
54 # update if set
55 res.app_settings_type = type_
56 return res
57
58 clone_uri_tmpl = models.Repository.DEFAULT_CLONE_URI_ID
59 print('settings new clone by url template to %s' % clone_uri_tmpl)
60
61 sett = create_or_update(models.RhodeCodeSetting,
62 'clone_uri_id_tmpl', clone_uri_tmpl, 'unicode')
63 _SESSION().add(sett)
64 _SESSION.commit()
@@ -0,0 +1,32 b''
1 ## -*- coding: utf-8 -*-
2 <%inherit file="base.mako"/>
3
4 <%def name="subject()" filter="n,trim,whitespace_filter">
5 New Version of RhodeCode is available !
6 </%def>
7
8 ## plain text version of the email. Empty by default
9 <%def name="body_plaintext()" filter="n,trim">
10 A new version of RhodeCode is available!
11
12 Your version: ${current_ver}
13 New version: ${latest_ver}
14
15 Release notes:
16
17 https://docs.rhodecode.com/RhodeCode-Enterprise/release-notes/release-notes-${latest_ver}.html
18 </%def>
19
20 ## BODY GOES BELOW
21
22 <h3>A new version of RhodeCode is available!</h3>
23 <br/>
24 Your version: ${current_ver}<br/>
25 New version: <strong>${latest_ver}</strong><br/>
26
27 <h4>Release notes</h4>
28
29 <a href="https://docs.rhodecode.com/RhodeCode-Enterprise/release-notes/release-notes-${latest_ver}.html">
30 https://docs.rhodecode.com/RhodeCode-Enterprise/release-notes/release-notes-${latest_ver}.html
31 </a>
32
@@ -73,3 +73,5 b' 90734aac31ee4563bbe665a43ff73190cc762275'
73 73 a9655707f7cf4146affc51c12fe5ed8e02898a57 v4.23.0
74 74 56310d93b33b97535908ef9c7b0985b89bb7fad2 v4.23.1
75 75 7637c38528fa38c1eabc1fde6a869c20995a0da7 v4.23.2
76 6aeb4ac3ef7f0ac699c914740dad3688c9495e83 v4.24.0
77 6eaf953da06e468a4c4e5239d3d0e700bda6b163 v4.24.1
@@ -1,4 +1,4 b''
1 |RCE| 4.23.0 |RNS|
1 |RCE| 4.24.0 |RNS|
2 2 ------------------
3 3
4 4 Release Date
@@ -16,14 +16,16 b' New Features'
16 16 Can be used for backups etc.
17 17 - Pull requests: expose commit versions in the pull-request commit list.
18 18
19
19 20 General
20 21 ^^^^^^^
21 22
22 23 - Deps: bumped redis to 3.5.3
23 - rcextensions: improve examples
24 - Rcextensions: improve examples for some usage.
24 25 - Setup: added optional parameters to apply a default license, or skip re-creation of database at install.
25 26 - Docs: update headers for NGINX
26 27 - Beaker cache: remove no longer used beaker cache init
28 - Installation: the installer no longer requires gzip and bzip packages, and works on python 2 and 3
27 29
28 30
29 31 Security
@@ -9,6 +9,7 b' Release Notes'
9 9 .. toctree::
10 10 :maxdepth: 1
11 11
12 release-notes-4.24.1.rst
12 13 release-notes-4.24.0.rst
13 14 release-notes-4.23.2.rst
14 15 release-notes-4.23.1.rst
@@ -274,6 +274,12 b' self: super: {'
274 274 ];
275 275 });
276 276
277 "pytest" = super."pytest".override (attrs: {
278 patches = [
279 ./patches/pytest/setuptools.patch
280 ];
281 });
282
277 283 # Avoid that base packages screw up the build process
278 284 inherit (basePythonPackages)
279 285 setuptools;
@@ -48,7 +48,7 b' PYRAMID_SETTINGS = {}'
48 48 EXTENSIONS = {}
49 49
50 50 __version__ = ('.'.join((str(each) for each in VERSION[:3])))
51 __dbversion__ = 112 # defines current db version for migrations
51 __dbversion__ = 113 # defines current db version for migrations
52 52 __platform__ = platform.system()
53 53 __license__ = 'AGPLv3, and Commercial License'
54 54 __author__ = 'RhodeCode GmbH'
@@ -384,6 +384,7 b' class AdminSettingsView(BaseAppView):'
384 384 ('markup_renderer', 'rhodecode_markup_renderer', 'unicode'),
385 385 ('gravatar_url', 'rhodecode_gravatar_url', 'unicode'),
386 386 ('clone_uri_tmpl', 'rhodecode_clone_uri_tmpl', 'unicode'),
387 ('clone_uri_id_tmpl', 'rhodecode_clone_uri_id_tmpl', 'unicode'),
387 388 ('clone_uri_ssh_tmpl', 'rhodecode_clone_uri_ssh_tmpl', 'unicode'),
388 389 ('support_url', 'rhodecode_support_url', 'unicode'),
389 390 ('show_revision_number', 'rhodecode_show_revision_number', 'bool'),
@@ -102,6 +102,11 b' Check if we should use full-topic or min'
102 102 'date': datetime.datetime.now(),
103 103 },
104 104
105 'update_available': {
106 'current_ver': '4.23.0',
107 'latest_ver': '4.24.0',
108 },
109
105 110 'exception': {
106 111 'email_prefix': '[RHODECODE ERROR]',
107 112 'exc_id': exc_traceback['exc_id'],
@@ -420,6 +420,27 b' class TestPullrequestsView(object):'
420 420 assert pull_request.title == 'New title'
421 421 assert pull_request.description == 'New description'
422 422
423 def test_edit_title_description(self, pr_util, csrf_token):
424 pull_request = pr_util.create_pull_request()
425 pull_request_id = pull_request.pull_request_id
426
427 response = self.app.post(
428 route_path('pullrequest_update',
429 repo_name=pull_request.target_repo.repo_name,
430 pull_request_id=pull_request_id),
431 params={
432 'edit_pull_request': 'true',
433 'title': 'New title {} {2} {foo}',
434 'description': 'New description',
435 'csrf_token': csrf_token})
436
437 assert_session_flash(
438 response, u'Pull request title & description updated.',
439 category='success')
440
441 pull_request = PullRequest.get(pull_request_id)
442 assert pull_request.title_safe == 'New title {{}} {{2}} {{foo}}'
443
423 444 def test_edit_title_description_closed(self, pr_util, csrf_token):
424 445 pull_request = pr_util.create_pull_request()
425 446 pull_request_id = pull_request.pull_request_id
@@ -83,14 +83,10 b' class RepoSummaryView(RepoAppView):'
83 83 if self._rhodecode_user.username != User.DEFAULT_USER:
84 84 username = safe_str(self._rhodecode_user.username)
85 85
86 _def_clone_uri = _def_clone_uri_id = c.clone_uri_tmpl
86 _def_clone_uri = c.clone_uri_tmpl
87 _def_clone_uri_id = c.clone_uri_id_tmpl
87 88 _def_clone_uri_ssh = c.clone_uri_ssh_tmpl
88 89
89 if '{repo}' in _def_clone_uri:
90 _def_clone_uri_id = _def_clone_uri.replace('{repo}', '_{repoid}')
91 elif '{repoid}' in _def_clone_uri:
92 _def_clone_uri_id = _def_clone_uri.replace('_{repoid}', '{repo}')
93
94 90 c.clone_repo_url = self.db_repo.clone_url(
95 91 user=username, uri_tmpl=_def_clone_uri)
96 92 c.clone_repo_url_id = self.db_repo.clone_url(
@@ -340,6 +340,10 b' def includeme(config, auth_resources=Non'
340 340 'rhodecode.lib.request_counter.get_request_counter',
341 341 'request_count')
342 342
343 config.add_request_method(
344 'rhodecode.lib._vendor.statsd.get_statsd_client',
345 'statsd', reify=True)
346
343 347 # Set the authorization policy.
344 348 authz_policy = ACLAuthorizationPolicy()
345 349 config.set_authorization_policy(authz_policy)
This diff has been collapsed as it changes many lines, (1706 lines changed) Show them Hide them
@@ -1,14 +1,14 b''
1 1 # Translations template for rhodecode-enterprise-ce.
2 # Copyright (C) 2020 RhodeCode GmbH
2 # Copyright (C) 2021 RhodeCode GmbH
3 3 # This file is distributed under the same license as the rhodecode-enterprise-ce project.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
5 5 #
6 6 #, fuzzy
7 7 msgid ""
8 8 msgstr ""
9 "Project-Id-Version: rhodecode-enterprise-ce 4.23.0\n"
9 "Project-Id-Version: rhodecode-enterprise-ce 4.24.0\n"
10 10 "Report-Msgid-Bugs-To: marcin@rhodecode.com\n"
11 "POT-Creation-Date: 2020-11-23 09:00+0000\n"
11 "POT-Creation-Date: 2021-01-14 15:36+0000\n"
12 12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14 14 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -22,41 +22,41 b' msgstr ""'
22 22 msgid "posted a new {} comment"
23 23 msgstr ""
24 24
25 #: rhodecode/apps/admin/views/defaults.py:90
25 #: rhodecode/apps/admin/views/defaults.py:82
26 26 msgid "Default settings updated successfully"
27 27 msgstr ""
28 28
29 #: rhodecode/apps/admin/views/defaults.py:108
29 #: rhodecode/apps/admin/views/defaults.py:100
30 30 msgid "Error occurred during update of default values"
31 31 msgstr ""
32 32
33 #: rhodecode/apps/admin/views/exception_tracker.py:156
33 #: rhodecode/apps/admin/views/exception_tracker.py:146
34 34 msgid "Removed {} Exceptions"
35 35 msgstr ""
36 36
37 #: rhodecode/apps/admin/views/exception_tracker.py:173
37 #: rhodecode/apps/admin/views/exception_tracker.py:160
38 38 msgid "Removed Exception {}"
39 39 msgstr ""
40 40
41 #: rhodecode/apps/admin/views/permissions.py:121
41 #: rhodecode/apps/admin/views/permissions.py:114
42 42 msgid "Application permissions updated successfully"
43 43 msgstr ""
44 44
45 #: rhodecode/apps/admin/views/permissions.py:142
46 #: rhodecode/apps/admin/views/permissions.py:218
47 #: rhodecode/apps/admin/views/permissions.py:320
45 #: rhodecode/apps/admin/views/permissions.py:135
46 #: rhodecode/apps/admin/views/permissions.py:205
47 #: rhodecode/apps/admin/views/permissions.py:298
48 48 msgid "Error occurred during update of permissions"
49 49 msgstr ""
50 50
51 #: rhodecode/apps/admin/views/permissions.py:198
51 #: rhodecode/apps/admin/views/permissions.py:185
52 52 msgid "Object permissions updated successfully"
53 53 msgstr ""
54 54
55 #: rhodecode/apps/admin/views/permissions.py:300
55 #: rhodecode/apps/admin/views/permissions.py:278
56 56 msgid "Global permissions updated successfully"
57 57 msgstr ""
58 58
59 #: rhodecode/apps/admin/views/permissions.py:485
59 #: rhodecode/apps/admin/views/permissions.py:448
60 60 #: rhodecode/templates/admin/gists/gist_show.mako:50
61 61 #: rhodecode/templates/admin/integrations/list.mako:172
62 62 #: rhodecode/templates/admin/my_account/my_account_profile.mako:7
@@ -75,548 +75,548 b' msgstr ""'
75 75 #: rhodecode/templates/files/files_source.mako:39
76 76 #: rhodecode/templates/files/files_source.mako:52
77 77 #: rhodecode/templates/pullrequests/pullrequest_show.mako:81
78 #: rhodecode/templates/pullrequests/pullrequest_show.mako:622
79 #: rhodecode/templates/pullrequests/pullrequest_show.mako:679
78 #: rhodecode/templates/pullrequests/pullrequest_show.mako:609
79 #: rhodecode/templates/pullrequests/pullrequest_show.mako:675
80 80 #: rhodecode/templates/user_group/profile.mako:8
81 81 #: rhodecode/templates/users/user_profile.mako:8
82 82 msgid "Edit"
83 83 msgstr ""
84 84
85 #: rhodecode/apps/admin/views/permissions.py:513
85 #: rhodecode/apps/admin/views/permissions.py:473
86 86 msgid "Updated SSH keys file: {}"
87 87 msgstr ""
88 88
89 #: rhodecode/apps/admin/views/permissions.py:516
89 #: rhodecode/apps/admin/views/permissions.py:476
90 90 msgid "SSH key support is disabled in .ini file"
91 91 msgstr ""
92 92
93 #: rhodecode/apps/admin/views/repo_groups.py:342
93 #: rhodecode/apps/admin/views/repo_groups.py:330
94 94 #, python-format
95 95 msgid "Created repository group %s"
96 96 msgstr ""
97 97
98 #: rhodecode/apps/admin/views/repo_groups.py:360
98 #: rhodecode/apps/admin/views/repo_groups.py:348
99 99 #, python-format
100 100 msgid "Error occurred during creation of repository group %s"
101 101 msgstr ""
102 102
103 #: rhodecode/apps/admin/views/sessions.py:92
103 #: rhodecode/apps/admin/views/sessions.py:86
104 104 msgid "Cleaned up old sessions"
105 105 msgstr ""
106 106
107 #: rhodecode/apps/admin/views/sessions.py:97
107 #: rhodecode/apps/admin/views/sessions.py:91
108 108 msgid "Failed to cleanup up old sessions"
109 109 msgstr ""
110 110
111 #: rhodecode/apps/admin/views/settings.py:163
112 #: rhodecode/apps/admin/views/settings.py:319
113 #: rhodecode/apps/admin/views/settings.py:394
114 #: rhodecode/apps/admin/views/settings.py:736
115 #: rhodecode/apps/repository/views/repo_settings_vcs.py:124
111 #: rhodecode/apps/admin/views/settings.py:156
112 #: rhodecode/apps/admin/views/settings.py:291
113 #: rhodecode/apps/admin/views/settings.py:360
114 #: rhodecode/apps/admin/views/settings.py:663
115 #: rhodecode/apps/repository/views/repo_settings_vcs.py:116
116 116 msgid "Some form inputs contain invalid data."
117 117 msgstr ""
118 118
119 #: rhodecode/apps/admin/views/settings.py:190
120 #: rhodecode/apps/admin/views/settings.py:355
119 #: rhodecode/apps/admin/views/settings.py:183
120 #: rhodecode/apps/admin/views/settings.py:327
121 121 msgid "Error occurred during updating application settings"
122 122 msgstr ""
123 123
124 #: rhodecode/apps/admin/views/settings.py:194
125 #: rhodecode/apps/repository/views/repo_settings_vcs.py:143
124 #: rhodecode/apps/admin/views/settings.py:187
125 #: rhodecode/apps/repository/views/repo_settings_vcs.py:135
126 126 msgid "Updated VCS settings"
127 127 msgstr ""
128 128
129 #: rhodecode/apps/admin/views/settings.py:269
129 #: rhodecode/apps/admin/views/settings.py:253
130 130 #, python-format
131 131 msgid "Repositories successfully rescanned added: %s ; removed: %s"
132 132 msgstr ""
133 133
134 #: rhodecode/apps/admin/views/settings.py:351
134 #: rhodecode/apps/admin/views/settings.py:323
135 135 msgid "Updated application settings"
136 136 msgstr ""
137 137
138 #: rhodecode/apps/admin/views/settings.py:433
138 #: rhodecode/apps/admin/views/settings.py:399
139 139 msgid "Updated visualisation settings"
140 140 msgstr ""
141 141
142 #: rhodecode/apps/admin/views/settings.py:436
142 #: rhodecode/apps/admin/views/settings.py:402
143 143 msgid "Error occurred during updating visualisation settings"
144 144 msgstr ""
145 145
146 #: rhodecode/apps/admin/views/settings.py:507
147 #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:127
146 #: rhodecode/apps/admin/views/settings.py:464
147 #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:115
148 148 msgid "Invalid issue tracker pattern: {}"
149 149 msgstr ""
150 150
151 #: rhodecode/apps/admin/views/settings.py:524
152 #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:136
151 #: rhodecode/apps/admin/views/settings.py:481
152 #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:124
153 153 msgid "Updated issue tracker entries"
154 154 msgstr ""
155 155
156 #: rhodecode/apps/admin/views/settings.py:544
157 #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:91
156 #: rhodecode/apps/admin/views/settings.py:498
157 #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:82
158 158 msgid "Removed issue tracker entry."
159 159 msgstr ""
160 160
161 #: rhodecode/apps/admin/views/settings.py:582
161 #: rhodecode/apps/admin/views/settings.py:530
162 162 msgid "Please enter email address"
163 163 msgstr ""
164 164
165 #: rhodecode/apps/admin/views/settings.py:598
165 #: rhodecode/apps/admin/views/settings.py:546
166 166 msgid "Send email task created"
167 167 msgstr ""
168 168
169 #: rhodecode/apps/admin/views/settings.py:648
169 #: rhodecode/apps/admin/views/settings.py:587
170 170 msgid "Added new hook"
171 171 msgstr ""
172 172
173 #: rhodecode/apps/admin/views/settings.py:663
173 #: rhodecode/apps/admin/views/settings.py:602
174 174 msgid "Updated hooks"
175 175 msgstr ""
176 176
177 #: rhodecode/apps/admin/views/settings.py:667
177 #: rhodecode/apps/admin/views/settings.py:606
178 178 msgid "Error occurred during hook creation"
179 179 msgstr ""
180 180
181 #: rhodecode/apps/admin/views/settings.py:760
181 #: rhodecode/apps/admin/views/settings.py:687
182 182 msgid "Error occurred during updating labs settings"
183 183 msgstr ""
184 184
185 #: rhodecode/apps/admin/views/settings.py:765
185 #: rhodecode/apps/admin/views/settings.py:692
186 186 msgid "Updated Labs settings"
187 187 msgstr ""
188 188
189 #: rhodecode/apps/admin/views/svn_config.py:46
189 #: rhodecode/apps/admin/views/svn_config.py:43
190 190 msgid "Apache configuration for Subversion generated at `{}`."
191 191 msgstr ""
192 192
193 #: rhodecode/apps/admin/views/svn_config.py:54
193 #: rhodecode/apps/admin/views/svn_config.py:51
194 194 msgid "Failed to generate the Apache configuration for Subversion."
195 195 msgstr ""
196 196
197 #: rhodecode/apps/admin/views/system_info.py:79
197 #: rhodecode/apps/admin/views/system_info.py:76
198 198 msgid "Note: please make sure this server can access `${url}` for the update link to work"
199 199 msgstr ""
200 200
201 #: rhodecode/apps/admin/views/system_info.py:90
201 #: rhodecode/apps/admin/views/system_info.py:87
202 202 msgid "Update info"
203 203 msgstr ""
204 204
205 #: rhodecode/apps/admin/views/system_info.py:92
205 #: rhodecode/apps/admin/views/system_info.py:89
206 206 msgid "Check for updates"
207 207 msgstr ""
208 208
209 #: rhodecode/apps/admin/views/system_info.py:94
210 msgid "RhodeCode Version"
211 msgstr ""
212
213 #: rhodecode/apps/admin/views/system_info.py:95
214 msgid "Latest version"
215 msgstr ""
216
217 #: rhodecode/apps/admin/views/system_info.py:96
218 msgid "RhodeCode Base URL"
219 msgstr ""
220
209 221 #: rhodecode/apps/admin/views/system_info.py:97
210 msgid "RhodeCode Version"
222 msgid "RhodeCode Server IP"
211 223 msgstr ""
212 224
213 225 #: rhodecode/apps/admin/views/system_info.py:98
214 msgid "Latest version"
226 msgid "RhodeCode Server ID"
215 227 msgstr ""
216 228
217 229 #: rhodecode/apps/admin/views/system_info.py:99
218 msgid "RhodeCode Base URL"
230 msgid "RhodeCode Configuration"
219 231 msgstr ""
220 232
221 233 #: rhodecode/apps/admin/views/system_info.py:100
222 msgid "RhodeCode Server IP"
234 msgid "RhodeCode Certificate"
223 235 msgstr ""
224 236
225 237 #: rhodecode/apps/admin/views/system_info.py:101
226 msgid "RhodeCode Server ID"
238 msgid "Workers"
227 239 msgstr ""
228 240
229 241 #: rhodecode/apps/admin/views/system_info.py:102
230 msgid "RhodeCode Configuration"
231 msgstr ""
232
233 #: rhodecode/apps/admin/views/system_info.py:103
234 msgid "RhodeCode Certificate"
235 msgstr ""
236
237 #: rhodecode/apps/admin/views/system_info.py:104
238 msgid "Workers"
239 msgstr ""
240
241 #: rhodecode/apps/admin/views/system_info.py:105
242 242 msgid "Worker Type"
243 243 msgstr ""
244 244
245 #: rhodecode/apps/admin/views/system_info.py:109
245 #: rhodecode/apps/admin/views/system_info.py:106
246 246 msgid "Database"
247 247 msgstr ""
248 248
249 #: rhodecode/apps/admin/views/system_info.py:110
249 #: rhodecode/apps/admin/views/system_info.py:107
250 250 msgid "Database version"
251 251 msgstr ""
252 252
253 #: rhodecode/apps/admin/views/system_info.py:111
254 msgid "Platform"
255 msgstr ""
256
257 #: rhodecode/apps/admin/views/system_info.py:112
258 msgid "Platform UUID"
259 msgstr ""
260
261 #: rhodecode/apps/admin/views/system_info.py:113
262 msgid "Lang"
263 msgstr ""
264
253 265 #: rhodecode/apps/admin/views/system_info.py:114
254 msgid "Platform"
266 msgid "Python version"
255 267 msgstr ""
256 268
257 269 #: rhodecode/apps/admin/views/system_info.py:115
258 msgid "Platform UUID"
259 msgstr ""
260
261 #: rhodecode/apps/admin/views/system_info.py:116
262 msgid "Lang"
263 msgstr ""
264
265 #: rhodecode/apps/admin/views/system_info.py:117
266 msgid "Python version"
267 msgstr ""
268
269 #: rhodecode/apps/admin/views/system_info.py:118
270 270 msgid "Python path"
271 271 msgstr ""
272 272
273 #: rhodecode/apps/admin/views/system_info.py:119
274 msgid "CPU"
275 msgstr ""
276
277 #: rhodecode/apps/admin/views/system_info.py:120
278 msgid "Load"
279 msgstr ""
280
281 #: rhodecode/apps/admin/views/system_info.py:121
282 msgid "Memory"
283 msgstr ""
284
273 285 #: rhodecode/apps/admin/views/system_info.py:122
274 msgid "CPU"
275 msgstr ""
276
277 #: rhodecode/apps/admin/views/system_info.py:123
278 msgid "Load"
279 msgstr ""
280
281 #: rhodecode/apps/admin/views/system_info.py:124
282 msgid "Memory"
283 msgstr ""
284
285 #: rhodecode/apps/admin/views/system_info.py:125
286 286 msgid "Uptime"
287 287 msgstr ""
288 288
289 #: rhodecode/apps/admin/views/system_info.py:126
290 msgid "Ulimit"
291 msgstr ""
292
289 293 #: rhodecode/apps/admin/views/system_info.py:129
290 msgid "Ulimit"
291 msgstr ""
292
293 #: rhodecode/apps/admin/views/system_info.py:132
294 294 msgid "Storage location"
295 295 msgstr ""
296 296
297 #: rhodecode/apps/admin/views/system_info.py:130
298 msgid "Storage info"
299 msgstr ""
300
301 #: rhodecode/apps/admin/views/system_info.py:131
302 msgid "Storage inodes"
303 msgstr ""
304
297 305 #: rhodecode/apps/admin/views/system_info.py:133
298 msgid "Storage info"
306 msgid "Gist storage location"
299 307 msgstr ""
300 308
301 309 #: rhodecode/apps/admin/views/system_info.py:134
302 msgid "Storage inodes"
310 msgid "Gist storage info"
303 311 msgstr ""
304 312
305 313 #: rhodecode/apps/admin/views/system_info.py:136
306 msgid "Gist storage location"
314 msgid "Archive cache storage location"
307 315 msgstr ""
308 316
309 317 #: rhodecode/apps/admin/views/system_info.py:137
310 msgid "Gist storage info"
318 msgid "Archive cache info"
311 319 msgstr ""
312 320
313 321 #: rhodecode/apps/admin/views/system_info.py:139
314 msgid "Archive cache storage location"
322 msgid "Temp storage location"
315 323 msgstr ""
316 324
317 325 #: rhodecode/apps/admin/views/system_info.py:140
318 msgid "Archive cache info"
326 msgid "Temp storage info"
319 327 msgstr ""
320 328
321 329 #: rhodecode/apps/admin/views/system_info.py:142
322 msgid "Temp storage location"
330 msgid "Search info"
323 331 msgstr ""
324 332
325 333 #: rhodecode/apps/admin/views/system_info.py:143
326 msgid "Temp storage info"
327 msgstr ""
328
329 #: rhodecode/apps/admin/views/system_info.py:145
330 msgid "Search info"
331 msgstr ""
332
333 #: rhodecode/apps/admin/views/system_info.py:146
334 334 msgid "Search location"
335 335 msgstr ""
336 336
337 #: rhodecode/apps/admin/views/system_info.py:147
338 msgid "VCS Backends"
339 msgstr ""
340
341 #: rhodecode/apps/admin/views/system_info.py:148
342 #: rhodecode/templates/admin/settings/settings_system.mako:32
343 msgid "VCS Server"
344 msgstr ""
345
346 #: rhodecode/apps/admin/views/system_info.py:149
347 msgid "GIT"
348 msgstr ""
349
337 350 #: rhodecode/apps/admin/views/system_info.py:150
338 msgid "VCS Backends"
351 msgid "HG"
339 352 msgstr ""
340 353
341 354 #: rhodecode/apps/admin/views/system_info.py:151
342 #: rhodecode/templates/admin/settings/settings_system.mako:32
343 msgid "VCS Server"
344 msgstr ""
345
346 #: rhodecode/apps/admin/views/system_info.py:152
347 msgid "GIT"
348 msgstr ""
349
350 #: rhodecode/apps/admin/views/system_info.py:153
351 msgid "HG"
352 msgstr ""
353
354 #: rhodecode/apps/admin/views/system_info.py:154
355 355 msgid "SVN"
356 356 msgstr ""
357 357
358 #: rhodecode/apps/admin/views/user_groups.py:238
358 #: rhodecode/apps/admin/views/user_groups.py:224
359 359 #, python-format
360 360 msgid "Created user group %(user_group_link)s"
361 361 msgstr ""
362 362
363 #: rhodecode/apps/admin/views/user_groups.py:260
363 #: rhodecode/apps/admin/views/user_groups.py:246
364 364 #, python-format
365 365 msgid "Error occurred during creation of user group %s"
366 366 msgstr ""
367 367
368 #: rhodecode/apps/admin/views/users.py:222
368 #: rhodecode/apps/admin/views/users.py:208
369 369 #, python-format
370 370 msgid "Created user %(user_link)s"
371 371 msgstr ""
372 372
373 #: rhodecode/apps/admin/views/users.py:243
373 #: rhodecode/apps/admin/views/users.py:229
374 374 #, python-format
375 375 msgid "Error occurred during creation of user %s"
376 376 msgstr ""
377 377
378 #: rhodecode/apps/admin/views/users.py:349
378 #: rhodecode/apps/admin/views/users.py:332
379 379 msgid "User updated successfully"
380 380 msgstr ""
381 381
382 #: rhodecode/apps/admin/views/users.py:367
382 #: rhodecode/apps/admin/views/users.py:350
383 383 #, python-format
384 384 msgid "Error occurred during update of user %s"
385 385 msgstr ""
386 386
387 #: rhodecode/apps/admin/views/users.py:398
387 #: rhodecode/apps/admin/views/users.py:378
388 388 #, python-format
389 389 msgid "Detached %s repositories"
390 390 msgstr ""
391 391
392 #: rhodecode/apps/admin/views/users.py:401
392 #: rhodecode/apps/admin/views/users.py:381
393 393 #, python-format
394 394 msgid "Deleted %s repositories"
395 395 msgstr ""
396 396
397 #: rhodecode/apps/admin/views/users.py:407
397 #: rhodecode/apps/admin/views/users.py:387
398 398 #, python-format
399 399 msgid "Detached %s repository groups"
400 400 msgstr ""
401 401
402 #: rhodecode/apps/admin/views/users.py:410
402 #: rhodecode/apps/admin/views/users.py:390
403 403 #, python-format
404 404 msgid "Deleted %s repository groups"
405 405 msgstr ""
406 406
407 #: rhodecode/apps/admin/views/users.py:416
407 #: rhodecode/apps/admin/views/users.py:396
408 408 #, python-format
409 409 msgid "Detached %s user groups"
410 410 msgstr ""
411 411
412 #: rhodecode/apps/admin/views/users.py:419
412 #: rhodecode/apps/admin/views/users.py:399
413 413 #, python-format
414 414 msgid "Deleted %s user groups"
415 415 msgstr ""
416 416
417 #: rhodecode/apps/admin/views/users.py:425
417 #: rhodecode/apps/admin/views/users.py:405
418 418 #, python-format
419 419 msgid "Detached %s pull requests"
420 420 msgstr ""
421 421
422 #: rhodecode/apps/admin/views/users.py:428
422 #: rhodecode/apps/admin/views/users.py:408
423 423 #, python-format
424 424 msgid "Deleted %s pull requests"
425 425 msgstr ""
426 426
427 #: rhodecode/apps/admin/views/users.py:434
427 #: rhodecode/apps/admin/views/users.py:414
428 428 #, python-format
429 429 msgid "Detached %s artifacts"
430 430 msgstr ""
431 431
432 #: rhodecode/apps/admin/views/users.py:437
432 #: rhodecode/apps/admin/views/users.py:417
433 433 #, python-format
434 434 msgid "Deleted %s artifacts"
435 435 msgstr ""
436 436
437 #: rhodecode/apps/admin/views/users.py:486
437 #: rhodecode/apps/admin/views/users.py:466
438 438 msgid "Successfully deleted user `{}`"
439 439 msgstr ""
440 440
441 #: rhodecode/apps/admin/views/users.py:493
441 #: rhodecode/apps/admin/views/users.py:473
442 442 msgid "An error occurred during deletion of user"
443 443 msgstr ""
444 444
445 #: rhodecode/apps/admin/views/users.py:562
445 #: rhodecode/apps/admin/views/users.py:536
446 446 msgid ""
447 447 "The user participates as reviewer in {} pull request and cannot be deleted. \n"
448 448 "You can set the user to \"{}\" instead of deleting it."
449 449 msgstr ""
450 450
451 #: rhodecode/apps/admin/views/users.py:568
451 #: rhodecode/apps/admin/views/users.py:542
452 452 msgid ""
453 453 "The user participates as reviewer in {} pull requests and cannot be deleted. \n"
454 454 "You can set the user to \"{}\" instead of deleting it."
455 455 msgstr ""
456 456
457 #: rhodecode/apps/admin/views/users.py:657
457 #: rhodecode/apps/admin/views/users.py:625
458 458 msgid "User global permissions updated successfully"
459 459 msgstr ""
460 460
461 #: rhodecode/apps/admin/views/users.py:675
462 #: rhodecode/apps/user_group/views/__init__.py:479
461 #: rhodecode/apps/admin/views/users.py:643
462 #: rhodecode/apps/user_group/views/__init__.py:449
463 463 msgid "An error occurred during permissions saving"
464 464 msgstr ""
465 465
466 #: rhodecode/apps/admin/views/users.py:698
466 #: rhodecode/apps/admin/views/users.py:663
467 467 msgid "Force password change enabled for user"
468 468 msgstr ""
469 469
470 #: rhodecode/apps/admin/views/users.py:706
471 #: rhodecode/apps/admin/views/users.py:736
470 #: rhodecode/apps/admin/views/users.py:671
471 #: rhodecode/apps/admin/views/users.py:698
472 472 msgid "An error occurred during password reset for user"
473 473 msgstr ""
474 474
475 #: rhodecode/apps/admin/views/users.py:727
475 #: rhodecode/apps/admin/views/users.py:689
476 476 msgid "Force password change disabled for user"
477 477 msgstr ""
478 478
479 #: rhodecode/apps/admin/views/users.py:800
479 #: rhodecode/apps/admin/views/users.py:756
480 480 #, python-format
481 481 msgid "Linked repository group `%s` as personal"
482 482 msgstr ""
483 483
484 #: rhodecode/apps/admin/views/users.py:806
484 #: rhodecode/apps/admin/views/users.py:762
485 485 #, python-format
486 486 msgid "Created repository group `%s`"
487 487 msgstr ""
488 488
489 #: rhodecode/apps/admin/views/users.py:810
489 #: rhodecode/apps/admin/views/users.py:766
490 490 #, python-format
491 491 msgid "Repository group `%s` is already taken"
492 492 msgstr ""
493 493
494 #: rhodecode/apps/admin/views/users.py:815
494 #: rhodecode/apps/admin/views/users.py:771
495 495 msgid "An error occurred during repository group creation for user"
496 496 msgstr ""
497 497
498 #: rhodecode/apps/admin/views/users.py:838
499 #: rhodecode/apps/my_account/views/my_account.py:161
498 #: rhodecode/apps/admin/views/users.py:791
499 #: rhodecode/apps/my_account/views/my_account.py:216
500 500 #: rhodecode/templates/admin/my_account/my_account_auth_tokens.mako:28
501 501 #: rhodecode/templates/admin/users/user_edit_auth_tokens.mako:33
502 502 msgid "Role"
503 503 msgstr ""
504 504
505 #: rhodecode/apps/admin/views/users.py:896
506 #: rhodecode/apps/my_account/views/my_account.py:217
505 #: rhodecode/apps/admin/views/users.py:844
506 #: rhodecode/apps/my_account/views/my_account.py:267
507 507 msgid "Auth token successfully created"
508 508 msgstr ""
509 509
510 #: rhodecode/apps/admin/views/users.py:925
511 #: rhodecode/apps/my_account/views/my_account.py:241
510 #: rhodecode/apps/admin/views/users.py:871
511 #: rhodecode/apps/my_account/views/my_account.py:289
512 512 msgid "Auth token successfully deleted"
513 513 msgstr ""
514 514
515 #: rhodecode/apps/admin/views/users.py:1001
516 #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:117
515 #: rhodecode/apps/admin/views/users.py:939
516 #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:106
517 517 msgid "Ssh Key successfully created"
518 518 msgstr ""
519 519
520 #: rhodecode/apps/admin/views/users.py:1007
521 #: rhodecode/apps/admin/views/users.py:1011
522 #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:123
523 #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:127
520 #: rhodecode/apps/admin/views/users.py:945
521 #: rhodecode/apps/admin/views/users.py:949
522 #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:112
523 #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:116
524 524 msgid "An error occurred during ssh key saving: {}"
525 525 msgstr ""
526 526
527 #: rhodecode/apps/admin/views/users.py:1045
528 #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:157
527 #: rhodecode/apps/admin/views/users.py:981
528 #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:144
529 529 msgid "Ssh key successfully deleted"
530 530 msgstr ""
531 531
532 #: rhodecode/apps/admin/views/users.py:1091
532 #: rhodecode/apps/admin/views/users.py:1022
533 533 #, python-format
534 534 msgid "Added new email address `%s` for user account"
535 535 msgstr ""
536 536
537 #: rhodecode/apps/admin/views/users.py:1097
537 #: rhodecode/apps/admin/views/users.py:1028
538 538 msgid "Email `{}` is already registered for another user."
539 539 msgstr ""
540 540
541 #: rhodecode/apps/admin/views/users.py:1101
541 #: rhodecode/apps/admin/views/users.py:1032
542 542 msgid "An error occurred during email saving"
543 543 msgstr ""
544 544
545 #: rhodecode/apps/admin/views/users.py:1128
545 #: rhodecode/apps/admin/views/users.py:1057
546 546 msgid "Removed email address from user account"
547 547 msgstr ""
548 548
549 #: rhodecode/apps/admin/views/users.py:1174
549 #: rhodecode/apps/admin/views/users.py:1098
550 550 #, python-format
551 551 msgid "An error occurred during ip saving:%s"
552 552 msgstr ""
553 553
554 #: rhodecode/apps/admin/views/users.py:1196
554 #: rhodecode/apps/admin/views/users.py:1120
555 555 msgid "An error occurred during ip saving"
556 556 msgstr ""
557 557
558 #: rhodecode/apps/admin/views/users.py:1200
558 #: rhodecode/apps/admin/views/users.py:1124
559 559 #, python-format
560 560 msgid "Added ips %s to user whitelist"
561 561 msgstr ""
562 562
563 #: rhodecode/apps/admin/views/users.py:1230
563 #: rhodecode/apps/admin/views/users.py:1152
564 564 msgid "Removed ip address from user whitelist"
565 565 msgstr ""
566 566
567 #: rhodecode/apps/admin/views/users.py:1295
567 #: rhodecode/apps/admin/views/users.py:1212
568 568 msgid "Groups successfully changed"
569 569 msgstr ""
570 570
571 #: rhodecode/apps/admin/views/users.py:1415
571 #: rhodecode/apps/admin/views/users.py:1315
572 572 msgid "Deleted {} cache keys"
573 573 msgstr ""
574 574
575 #: rhodecode/apps/gist/views.py:57 rhodecode/model/auth_token.py:51
575 #: rhodecode/apps/gist/views.py:56 rhodecode/model/auth_token.py:51
576 576 msgid "forever"
577 577 msgstr ""
578 578
579 #: rhodecode/apps/gist/views.py:57
580 msgid "5 minutes"
581 msgstr ""
582
579 583 #: rhodecode/apps/gist/views.py:58
580 msgid "5 minutes"
584 msgid "1 hour"
581 585 msgstr ""
582 586
583 587 #: rhodecode/apps/gist/views.py:59
584 msgid "1 hour"
588 msgid "1 day"
585 589 msgstr ""
586 590
587 591 #: rhodecode/apps/gist/views.py:60
588 msgid "1 day"
589 msgstr ""
590
591 #: rhodecode/apps/gist/views.py:61
592 592 msgid "1 month"
593 593 msgstr ""
594 594
595 #: rhodecode/apps/gist/views.py:64 rhodecode/public/js/scripts.js:48330
595 #: rhodecode/apps/gist/views.py:63 rhodecode/public/js/scripts.js:48529
596 596 #: rhodecode/public/js/scripts.min.js:1
597 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:47
597 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:48
598 598 #: rhodecode/public/js/src/rhodecode.js:634
599 599 msgid "Lifetime"
600 600 msgstr ""
601 601
602 #: rhodecode/apps/gist/views.py:65
603 msgid "Requires registered account"
604 msgstr ""
605
602 606 #: rhodecode/apps/gist/views.py:66
603 msgid "Requires registered account"
604 msgstr ""
605
606 #: rhodecode/apps/gist/views.py:67
607 607 msgid "Can be accessed by anonymous users"
608 608 msgstr ""
609 609
610 #: rhodecode/apps/gist/views.py:218
610 #: rhodecode/apps/gist/views.py:208
611 611 msgid "Error occurred during gist creation"
612 612 msgstr ""
613 613
614 #: rhodecode/apps/gist/views.py:242
614 #: rhodecode/apps/gist/views.py:230
615 615 #, python-format
616 616 msgid "Deleted gist %s"
617 617 msgstr ""
618 618
619 #: rhodecode/apps/gist/views.py:330
619 #: rhodecode/apps/gist/views.py:303
620 620 #: rhodecode/templates/admin/gists/gist_show.mako:76
621 621 #: rhodecode/templates/admin/my_account/my_account_auth_tokens.mako:50
622 622 #: rhodecode/templates/admin/users/user_edit_auth_tokens.mako:55
@@ -624,30 +624,30 b' msgstr ""'
624 624 msgid "never"
625 625 msgstr ""
626 626
627 #: rhodecode/apps/gist/views.py:336
627 #: rhodecode/apps/gist/views.py:309
628 628 #, python-format
629 629 msgid "%(expiry)s - current value"
630 630 msgstr ""
631 631
632 #: rhodecode/apps/gist/views.py:381
632 #: rhodecode/apps/gist/views.py:351
633 633 msgid "Successfully updated gist content"
634 634 msgstr ""
635 635
636 #: rhodecode/apps/gist/views.py:386
636 #: rhodecode/apps/gist/views.py:356
637 637 msgid "Successfully updated gist data"
638 638 msgstr ""
639 639
640 #: rhodecode/apps/gist/views.py:389
640 #: rhodecode/apps/gist/views.py:359
641 641 msgid "Error occurred during update of gist {}: {}"
642 642 msgstr ""
643 643
644 #: rhodecode/apps/gist/views.py:393
644 #: rhodecode/apps/gist/views.py:363
645 645 #, python-format
646 646 msgid "Error occurred during update of gist %s"
647 647 msgstr ""
648 648
649 #: rhodecode/apps/home/views.py:453
650 #: rhodecode/apps/repository/views/repo_pull_requests.py:983
649 #: rhodecode/apps/home/views.py:442
650 #: rhodecode/apps/repository/views/repo_pull_requests.py:972
651 651 #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:219
652 652 #: rhodecode/templates/admin/repos/repo_add.mako:15
653 653 #: rhodecode/templates/admin/repos/repo_add.mako:19
@@ -658,7 +658,7 b' msgstr ""'
658 658 msgid "Repositories"
659 659 msgstr ""
660 660
661 #: rhodecode/apps/home/views.py:480
661 #: rhodecode/apps/home/views.py:466
662 662 #: rhodecode/templates/admin/integrations/form.mako:17
663 663 #: rhodecode/templates/admin/integrations/list.mako:10
664 664 #: rhodecode/templates/admin/permissions/permissions_objects.mako:31
@@ -666,126 +666,126 b' msgstr ""'
666 666 msgid "Repository Groups"
667 667 msgstr ""
668 668
669 #: rhodecode/apps/journal/views.py:133 rhodecode/apps/journal/views.py:179
669 #: rhodecode/apps/journal/views.py:129 rhodecode/apps/journal/views.py:175
670 670 msgid "public journal"
671 671 msgstr ""
672 672
673 #: rhodecode/apps/journal/views.py:137 rhodecode/apps/journal/views.py:183
673 #: rhodecode/apps/journal/views.py:133 rhodecode/apps/journal/views.py:179
674 674 msgid "journal"
675 675 msgstr ""
676 676
677 #: rhodecode/apps/login/views.py:304 rhodecode/apps/login/views.py:403
677 #: rhodecode/apps/login/views.py:290 rhodecode/apps/login/views.py:386
678 678 msgid "Bad captcha"
679 679 msgstr ""
680 680
681 #: rhodecode/apps/login/views.py:330
681 #: rhodecode/apps/login/views.py:316
682 682 msgid "You have successfully registered with RhodeCode. You can log-in now."
683 683 msgstr ""
684 684
685 #: rhodecode/apps/login/views.py:334
685 #: rhodecode/apps/login/views.py:320
686 686 msgid "Please use the {identity} button to log-in"
687 687 msgstr ""
688 688
689 #: rhodecode/apps/login/views.py:372
689 #: rhodecode/apps/login/views.py:355
690 690 msgid "If such email exists, a password reset link was sent to it."
691 691 msgstr ""
692 692
693 #: rhodecode/apps/login/views.py:385
693 #: rhodecode/apps/login/views.py:368
694 694 msgid "Password reset has been disabled."
695 695 msgstr ""
696 696
697 #: rhodecode/apps/login/views.py:474
697 #: rhodecode/apps/login/views.py:455
698 698 msgid "Given reset token is invalid"
699 699 msgstr ""
700 700
701 #: rhodecode/apps/login/views.py:482
701 #: rhodecode/apps/login/views.py:463
702 702 msgid "Your password reset was successful, a new password has been sent to your email"
703 703 msgstr ""
704 704
705 #: rhodecode/apps/my_account/views/my_account.py:136
705 #: rhodecode/apps/my_account/views/my_account.py:135
706 msgid "Your account was updated successfully"
707 msgstr ""
708
709 #: rhodecode/apps/my_account/views/my_account.py:142
710 msgid "Error occurred during update of user"
711 msgstr ""
712
713 #: rhodecode/apps/my_account/views/my_account.py:194
706 714 msgid "Error occurred during update of user password"
707 715 msgstr ""
708 716
709 #: rhodecode/apps/my_account/views/my_account.py:143
717 #: rhodecode/apps/my_account/views/my_account.py:201
710 718 msgid "Successfully updated password"
711 719 msgstr ""
712 720
713 #: rhodecode/apps/my_account/views/my_account.py:305
721 #: rhodecode/apps/my_account/views/my_account.py:347
714 722 msgid "Error occurred during adding email"
715 723 msgstr ""
716 724
717 #: rhodecode/apps/my_account/views/my_account.py:308
725 #: rhodecode/apps/my_account/views/my_account.py:350
718 726 msgid "Successfully added email"
719 727 msgstr ""
720 728
721 #: rhodecode/apps/my_account/views/my_account.py:330
729 #: rhodecode/apps/my_account/views/my_account.py:370
722 730 msgid "Email successfully deleted"
723 731 msgstr ""
724 732
725 #: rhodecode/apps/my_account/views/my_account.py:540
733 #: rhodecode/apps/my_account/views/my_account.py:566
726 734 msgid "Position {} is defined twice. Please correct this error."
727 735 msgstr ""
728 736
729 #: rhodecode/apps/my_account/views/my_account.py:553
737 #: rhodecode/apps/my_account/views/my_account.py:579
730 738 msgid "Update Bookmarks"
731 739 msgstr ""
732 740
733 #: rhodecode/apps/my_account/views/my_account.py:555
741 #: rhodecode/apps/my_account/views/my_account.py:581
734 742 msgid "Failed to update bookmarks. Make sure an unique position is used."
735 743 msgstr ""
736 744
737 #: rhodecode/apps/my_account/views/my_account.py:709
738 msgid "Your account was updated successfully"
739 msgstr ""
740
741 #: rhodecode/apps/my_account/views/my_account.py:716
742 msgid "Error occurred during update of user"
743 msgstr ""
744
745 #: rhodecode/apps/repo_group/views/repo_group_advanced.py:57
746 #: rhodecode/apps/repository/views/repo_settings_advanced.py:85
745 #: rhodecode/apps/repo_group/views/repo_group_advanced.py:53
746 #: rhodecode/apps/repository/views/repo_settings_advanced.py:82
747 747 msgid "updated commit cache"
748 748 msgstr ""
749 749
750 #: rhodecode/apps/repo_group/views/repo_group_advanced.py:105
750 #: rhodecode/apps/repo_group/views/repo_group_advanced.py:98
751 751 #, python-format
752 752 msgid "Removed repository group `%s`"
753 753 msgstr ""
754 754
755 #: rhodecode/apps/repo_group/views/repo_group_advanced.py:109
755 #: rhodecode/apps/repo_group/views/repo_group_advanced.py:102
756 756 #, python-format
757 757 msgid "Error occurred during deletion of repository group %s"
758 758 msgstr ""
759 759
760 #: rhodecode/apps/repo_group/views/repo_group_permissions.py:75
761 #: rhodecode/apps/user_group/views/__init__.py:346
760 #: rhodecode/apps/repo_group/views/repo_group_permissions.py:69
761 #: rhodecode/apps/user_group/views/__init__.py:322
762 762 msgid "Cannot change permission for yourself as admin"
763 763 msgstr ""
764 764
765 #: rhodecode/apps/repo_group/views/repo_group_permissions.py:99
765 #: rhodecode/apps/repo_group/views/repo_group_permissions.py:93
766 766 msgid "Repository Group permissions updated"
767 767 msgstr ""
768 768
769 #: rhodecode/apps/repo_group/views/repo_group_settings.py:174
769 #: rhodecode/apps/repo_group/views/repo_group_settings.py:168
770 770 msgid "Repository Group `{}` updated successfully"
771 771 msgstr ""
772 772
773 #: rhodecode/apps/repo_group/views/repo_group_settings.py:179
773 #: rhodecode/apps/repo_group/views/repo_group_settings.py:173
774 774 #, python-format
775 775 msgid "Error occurred during update of repository group %s"
776 776 msgstr ""
777 777
778 #: rhodecode/apps/repository/views/repo_caches.py:80
778 #: rhodecode/apps/repository/views/repo_caches.py:75
779 779 msgid "Cache invalidation successful"
780 780 msgstr ""
781 781
782 #: rhodecode/apps/repository/views/repo_caches.py:84
782 #: rhodecode/apps/repository/views/repo_caches.py:79
783 783 msgid "An error occurred during cache invalidation"
784 784 msgstr ""
785 785
786 786 #: rhodecode/apps/repository/views/repo_changelog.py:66
787 787 #: rhodecode/apps/repository/views/repo_compare.py:64
788 #: rhodecode/apps/repository/views/repo_pull_requests.py:832
788 #: rhodecode/apps/repository/views/repo_pull_requests.py:830
789 789 msgid "There are no commits yet"
790 790 msgstr ""
791 791
@@ -794,76 +794,76 b' msgstr ""'
794 794 msgid "No such commit exists for this repository"
795 795 msgstr ""
796 796
797 #: rhodecode/apps/repository/views/repo_checks.py:103
797 #: rhodecode/apps/repository/views/repo_checks.py:94
798 798 #, python-format
799 799 msgid "Created repository %s from %s"
800 800 msgstr ""
801 801
802 #: rhodecode/apps/repository/views/repo_checks.py:112
802 #: rhodecode/apps/repository/views/repo_checks.py:103
803 803 #, python-format
804 804 msgid "Forked repository %s as %s"
805 805 msgstr ""
806 806
807 #: rhodecode/apps/repository/views/repo_checks.py:115
807 #: rhodecode/apps/repository/views/repo_checks.py:106
808 808 #, python-format
809 809 msgid "Created repository %s"
810 810 msgstr ""
811 811
812 #: rhodecode/apps/repository/views/repo_commits.py:113
812 #: rhodecode/apps/repository/views/repo_commits.py:112
813 813 msgid "No such commit exists. Org exception: `{}`"
814 814 msgstr ""
815 815
816 #: rhodecode/apps/repository/views/repo_commits.py:404
817 #: rhodecode/apps/repository/views/repo_pull_requests.py:1620
816 #: rhodecode/apps/repository/views/repo_commits.py:388
817 #: rhodecode/apps/repository/views/repo_pull_requests.py:1588
818 818 #, python-format
819 819 msgid "Status change %(transition_icon)s %(status)s"
820 820 msgstr ""
821 821
822 #: rhodecode/apps/repository/views/repo_commits.py:442
822 #: rhodecode/apps/repository/views/repo_commits.py:426
823 823 msgid "Changing the status of a commit associated with a closed pull request is not allowed"
824 824 msgstr ""
825 825
826 #: rhodecode/apps/repository/views/repo_commits.py:488
827 #: rhodecode/apps/repository/views/repo_pull_requests.py:1703
826 #: rhodecode/apps/repository/views/repo_commits.py:472
827 #: rhodecode/apps/repository/views/repo_pull_requests.py:1671
828 828 msgid "posted {} new {} comment"
829 829 msgstr ""
830 830
831 #: rhodecode/apps/repository/views/repo_commits.py:490
832 #: rhodecode/apps/repository/views/repo_pull_requests.py:1705
831 #: rhodecode/apps/repository/views/repo_commits.py:474
832 #: rhodecode/apps/repository/views/repo_pull_requests.py:1673
833 833 msgid "posted {} new {} comments"
834 834 msgstr ""
835 835
836 #: rhodecode/apps/repository/views/repo_compare.py:102
836 #: rhodecode/apps/repository/views/repo_compare.py:99
837 837 msgid "Select commit"
838 838 msgstr ""
839 839
840 #: rhodecode/apps/repository/views/repo_compare.py:173
840 #: rhodecode/apps/repository/views/repo_compare.py:167
841 841 msgid "Could not find the source repo: `{}`"
842 842 msgstr ""
843 843
844 #: rhodecode/apps/repository/views/repo_compare.py:181
844 #: rhodecode/apps/repository/views/repo_compare.py:175
845 845 msgid "Could not find the target repo: `{}`"
846 846 msgstr ""
847 847
848 #: rhodecode/apps/repository/views/repo_compare.py:192
848 #: rhodecode/apps/repository/views/repo_compare.py:186
849 849 msgid "The comparison of two different kinds of remote repos is not available"
850 850 msgstr ""
851 851
852 #: rhodecode/apps/repository/views/repo_compare.py:225
852 #: rhodecode/apps/repository/views/repo_compare.py:219
853 853 msgid "Could not compare repos with different large file settings"
854 854 msgstr ""
855 855
856 #: rhodecode/apps/repository/views/repo_compare.py:271
856 #: rhodecode/apps/repository/views/repo_compare.py:265
857 857 #, python-format
858 858 msgid "Repositories unrelated. Cannot compare commit %(commit1)s from repository %(repo1)s with commit %(commit2)s from repository %(repo2)s."
859 859 msgstr ""
860 860
861 #: rhodecode/apps/repository/views/repo_feed.py:68
861 #: rhodecode/apps/repository/views/repo_feed.py:66
862 862 #, python-format
863 863 msgid "Changes on %s repository"
864 864 msgstr ""
865 865
866 #: rhodecode/apps/repository/views/repo_feed.py:69
866 #: rhodecode/apps/repository/views/repo_feed.py:67
867 867 #, python-format
868 868 msgid "%s %s feed"
869 869 msgstr ""
@@ -894,344 +894,344 b' msgstr ""'
894 894 msgid "No such commit exists for this repository. Commit: {}"
895 895 msgstr ""
896 896
897 #: rhodecode/apps/repository/views/repo_files.py:361
897 #: rhodecode/apps/repository/views/repo_files.py:358
898 898 msgid "Downloads disabled"
899 899 msgstr ""
900 900
901 #: rhodecode/apps/repository/views/repo_files.py:367
901 #: rhodecode/apps/repository/views/repo_files.py:364
902 902 msgid "Unknown archive type for: `{}`"
903 903 msgstr ""
904 904
905 #: rhodecode/apps/repository/views/repo_files.py:370
906 msgid "Unknown commit_id {}"
907 msgstr ""
908
905 909 #: rhodecode/apps/repository/views/repo_files.py:373
906 msgid "Unknown commit_id {}"
907 msgstr ""
908
909 #: rhodecode/apps/repository/views/repo_files.py:376
910 910 msgid "Empty repository"
911 911 msgstr ""
912 912
913 #: rhodecode/apps/repository/views/repo_files.py:381
913 #: rhodecode/apps/repository/views/repo_files.py:378
914 914 msgid "No node at path {} for this repository"
915 915 msgstr ""
916 916
917 #: rhodecode/apps/repository/views/repo_files.py:432
917 #: rhodecode/apps/repository/views/repo_files.py:429
918 918 msgid "Unknown archive type"
919 919 msgstr ""
920 920
921 #: rhodecode/apps/repository/views/repo_files.py:1027
921 #: rhodecode/apps/repository/views/repo_files.py:986
922 922 msgid "Changesets"
923 923 msgstr ""
924 924
925 #: rhodecode/apps/repository/views/repo_files.py:1048
926 #: rhodecode/apps/repository/views/repo_summary.py:264
927 #: rhodecode/model/pull_request.py:1896 rhodecode/model/scm.py:999
925 #: rhodecode/apps/repository/views/repo_files.py:1007
926 #: rhodecode/apps/repository/views/repo_summary.py:243
927 #: rhodecode/model/pull_request.py:1910 rhodecode/model/scm.py:999
928 928 #: rhodecode/templates/base/vcs_settings.mako:235
929 929 #: rhodecode/templates/summary/components.mako:10
930 930 msgid "Branches"
931 931 msgstr ""
932 932
933 #: rhodecode/apps/repository/views/repo_files.py:1052
933 #: rhodecode/apps/repository/views/repo_files.py:1011
934 934 #: rhodecode/model/scm.py:1016 rhodecode/templates/base/vcs_settings.mako:260
935 935 #: rhodecode/templates/summary/components.mako:34
936 936 msgid "Tags"
937 937 msgstr ""
938 938
939 #: rhodecode/apps/repository/views/repo_files.py:1208
940 #: rhodecode/apps/repository/views/repo_files.py:1237
939 #: rhodecode/apps/repository/views/repo_files.py:1155
940 #: rhodecode/apps/repository/views/repo_files.py:1181
941 941 msgid "Deleted file {} via RhodeCode Enterprise"
942 942 msgstr ""
943 943
944 #: rhodecode/apps/repository/views/repo_files.py:1258
944 #: rhodecode/apps/repository/views/repo_files.py:1202
945 945 msgid "Successfully deleted file `{}`"
946 946 msgstr ""
947 947
948 #: rhodecode/apps/repository/views/repo_files.py:1262
949 #: rhodecode/apps/repository/views/repo_files.py:1381
950 #: rhodecode/apps/repository/views/repo_files.py:1514
951 #: rhodecode/apps/repository/views/repo_files.py:1638
948 #: rhodecode/apps/repository/views/repo_files.py:1206
949 #: rhodecode/apps/repository/views/repo_files.py:1319
950 #: rhodecode/apps/repository/views/repo_files.py:1443
951 #: rhodecode/apps/repository/views/repo_files.py:1564
952 952 msgid "Error occurred during commit"
953 953 msgstr ""
954 954
955 #: rhodecode/apps/repository/views/repo_files.py:1295
956 #: rhodecode/apps/repository/views/repo_files.py:1327
955 #: rhodecode/apps/repository/views/repo_files.py:1236
956 #: rhodecode/apps/repository/views/repo_files.py:1265
957 957 msgid "Edited file {} via RhodeCode Enterprise"
958 958 msgstr ""
959 959
960 #: rhodecode/apps/repository/views/repo_files.py:1350
960 #: rhodecode/apps/repository/views/repo_files.py:1288
961 961 msgid "No changes detected on {}"
962 962 msgstr ""
963 963
964 #: rhodecode/apps/repository/views/repo_files.py:1374
964 #: rhodecode/apps/repository/views/repo_files.py:1312
965 965 msgid "Successfully committed changes to file `{}`"
966 966 msgstr ""
967 967
968 #: rhodecode/apps/repository/views/repo_files.py:1416
969 #: rhodecode/apps/repository/views/repo_files.py:1458
968 #: rhodecode/apps/repository/views/repo_files.py:1348
969 #: rhodecode/apps/repository/views/repo_files.py:1387
970 970 msgid "Added file via RhodeCode Enterprise"
971 971 msgstr ""
972 972
973 #: rhodecode/apps/repository/views/repo_files.py:1474
973 #: rhodecode/apps/repository/views/repo_files.py:1403
974 974 msgid "No filename specified"
975 975 msgstr ""
976 976
977 #: rhodecode/apps/repository/views/repo_files.py:1499
977 #: rhodecode/apps/repository/views/repo_files.py:1428
978 978 msgid "Successfully committed new file `{}`"
979 979 msgstr ""
980 980
981 #: rhodecode/apps/repository/views/repo_files.py:1507
982 #: rhodecode/apps/repository/views/repo_files.py:1620
981 #: rhodecode/apps/repository/views/repo_files.py:1436
982 #: rhodecode/apps/repository/views/repo_files.py:1546
983 983 msgid "The location specified must be a relative path and must not contain .. in the path"
984 984 msgstr ""
985 985
986 #: rhodecode/apps/repository/views/repo_files.py:1565
986 #: rhodecode/apps/repository/views/repo_files.py:1491
987 987 msgid "Uploaded file via RhodeCode Enterprise"
988 988 msgstr ""
989 989
990 #: rhodecode/apps/repository/views/repo_files.py:1609
990 #: rhodecode/apps/repository/views/repo_files.py:1535
991 991 msgid "Successfully committed {} new files"
992 992 msgstr ""
993 993
994 #: rhodecode/apps/repository/views/repo_files.py:1611
994 #: rhodecode/apps/repository/views/repo_files.py:1537
995 995 msgid "Successfully committed 1 new file"
996 996 msgstr ""
997 997
998 #: rhodecode/apps/repository/views/repo_forks.py:146
998 #: rhodecode/apps/repository/views/repo_forks.py:140
999 999 msgid "Compare fork"
1000 1000 msgstr ""
1001 1001
1002 #: rhodecode/apps/repository/views/repo_forks.py:251
1002 #: rhodecode/apps/repository/views/repo_forks.py:239
1003 1003 #, python-format
1004 1004 msgid "An error occurred during repository forking %s"
1005 1005 msgstr ""
1006 1006
1007 #: rhodecode/apps/repository/views/repo_permissions.py:57
1007 #: rhodecode/apps/repository/views/repo_permissions.py:53
1008 1008 msgid "Explicitly add user or user group with write or higher permission to modify their branch permissions."
1009 1009 msgstr ""
1010 1010
1011 #: rhodecode/apps/repository/views/repo_permissions.py:92
1011 #: rhodecode/apps/repository/views/repo_permissions.py:85
1012 1012 msgid "Repository access permissions updated"
1013 1013 msgstr ""
1014 1014
1015 #: rhodecode/apps/repository/views/repo_permissions.py:126
1015 #: rhodecode/apps/repository/views/repo_permissions.py:116
1016 1016 msgid "Repository `{}` private mode set successfully"
1017 1017 msgstr ""
1018 1018
1019 #: rhodecode/apps/repository/views/repo_permissions.py:134
1020 #: rhodecode/apps/repository/views/repo_settings.py:176
1019 #: rhodecode/apps/repository/views/repo_permissions.py:124
1020 #: rhodecode/apps/repository/views/repo_settings.py:169
1021 1021 msgid "Error occurred during update of repository {}"
1022 1022 msgstr ""
1023 1023
1024 #: rhodecode/apps/repository/views/repo_pull_requests.py:331
1024 #: rhodecode/apps/repository/views/repo_pull_requests.py:326
1025 1025 msgid "Pull Request state was force changed to `{}`"
1026 1026 msgstr ""
1027 1027
1028 #: rhodecode/apps/repository/views/repo_pull_requests.py:862
1028 #: rhodecode/apps/repository/views/repo_pull_requests.py:857
1029 1029 msgid "Commit does not exist"
1030 1030 msgstr ""
1031 1031
1032 #: rhodecode/apps/repository/views/repo_pull_requests.py:1142
1032 #: rhodecode/apps/repository/views/repo_pull_requests.py:1119
1033 1033 msgid "Error creating pull request: {}"
1034 1034 msgstr ""
1035 1035
1036 #: rhodecode/apps/repository/views/repo_pull_requests.py:1162
1036 #: rhodecode/apps/repository/views/repo_pull_requests.py:1139
1037 1037 msgid "source_repo or target repo not found"
1038 1038 msgstr ""
1039 1039
1040 #: rhodecode/apps/repository/views/repo_pull_requests.py:1173
1040 #: rhodecode/apps/repository/views/repo_pull_requests.py:1150
1041 1041 msgid "Not Enough permissions to source repo `{}`."
1042 1042 msgstr ""
1043 1043
1044 #: rhodecode/apps/repository/views/repo_pull_requests.py:1188
1044 #: rhodecode/apps/repository/views/repo_pull_requests.py:1165
1045 1045 msgid "Not Enough permissions to target repo `{}`."
1046 1046 msgstr ""
1047 1047
1048 #: rhodecode/apps/repository/views/repo_pull_requests.py:1258
1048 #: rhodecode/apps/repository/views/repo_pull_requests.py:1235
1049 1049 msgid "Successfully opened new pull request"
1050 1050 msgstr ""
1051 1051
1052 #: rhodecode/apps/repository/views/repo_pull_requests.py:1261
1052 #: rhodecode/apps/repository/views/repo_pull_requests.py:1238
1053 1053 msgid "Error occurred during creation of this pull request."
1054 1054 msgstr ""
1055 1055
1056 #: rhodecode/apps/repository/views/repo_pull_requests.py:1293
1057 #: rhodecode/apps/repository/views/repo_pull_requests.py:1362
1056 #: rhodecode/apps/repository/views/repo_pull_requests.py:1267
1057 #: rhodecode/apps/repository/views/repo_pull_requests.py:1336
1058 1058 msgid "Cannot update closed pull requests."
1059 1059 msgstr ""
1060 1060
1061 #: rhodecode/apps/repository/views/repo_pull_requests.py:1325
1061 #: rhodecode/apps/repository/views/repo_pull_requests.py:1299
1062 1062 msgid "Cannot update pull requests commits in state other than `{}`. Current state is: `{}`"
1063 1063 msgstr ""
1064 1064
1065 #: rhodecode/apps/repository/views/repo_pull_requests.py:1368
1065 #: rhodecode/apps/repository/views/repo_pull_requests.py:1342
1066 1066 msgid "Pull request title & description updated."
1067 1067 msgstr ""
1068 1068
1069 #: rhodecode/apps/repository/views/repo_pull_requests.py:1390
1069 #: rhodecode/apps/repository/views/repo_pull_requests.py:1364
1070 1070 msgid "Pull request updated to \"{source_commit_id}\" with {count_added} added, {count_removed} removed commits. Source of changes: {change_source}."
1071 1071 msgstr ""
1072 1072
1073 #: rhodecode/apps/repository/views/repo_pull_requests.py:1430
1073 #: rhodecode/apps/repository/views/repo_pull_requests.py:1404
1074 1074 msgid "Pull request reviewers updated."
1075 1075 msgstr ""
1076 1076
1077 #: rhodecode/apps/repository/views/repo_pull_requests.py:1454
1077 #: rhodecode/apps/repository/views/repo_pull_requests.py:1428
1078 1078 msgid "Pull request observers updated."
1079 1079 msgstr ""
1080 1080
1081 #: rhodecode/apps/repository/views/repo_pull_requests.py:1481
1081 #: rhodecode/apps/repository/views/repo_pull_requests.py:1452
1082 1082 msgid "Cannot merge pull requests in state other than `{}`. Current state is: `{}`"
1083 1083 msgstr ""
1084 1084
1085 #: rhodecode/apps/repository/views/repo_pull_requests.py:1527
1085 #: rhodecode/apps/repository/views/repo_pull_requests.py:1498
1086 1086 msgid "Pull request was successfully merged and closed."
1087 1087 msgstr ""
1088 1088
1089 #: rhodecode/apps/repository/views/repo_pull_requests.py:1558
1089 #: rhodecode/apps/repository/views/repo_pull_requests.py:1526
1090 1090 msgid "Successfully deleted pull request"
1091 1091 msgstr ""
1092 1092
1093 #: rhodecode/apps/repository/views/repo_settings.py:172
1093 #: rhodecode/apps/repository/views/repo_settings.py:165
1094 1094 msgid "Repository `{}` updated successfully"
1095 1095 msgstr ""
1096 1096
1097 #: rhodecode/apps/repository/views/repo_settings.py:209
1097 #: rhodecode/apps/repository/views/repo_settings.py:199
1098 1098 msgid "Unlocked"
1099 1099 msgstr ""
1100 1100
1101 #: rhodecode/apps/repository/views/repo_settings.py:214
1101 #: rhodecode/apps/repository/views/repo_settings.py:204
1102 1102 msgid "Locked"
1103 1103 msgstr ""
1104 1104
1105 #: rhodecode/apps/repository/views/repo_settings.py:216
1105 #: rhodecode/apps/repository/views/repo_settings.py:206
1106 1106 #, python-format
1107 1107 msgid "Repository has been %s"
1108 1108 msgstr ""
1109 1109
1110 #: rhodecode/apps/repository/views/repo_settings.py:220
1111 #: rhodecode/apps/repository/views/repo_settings_advanced.py:305
1110 #: rhodecode/apps/repository/views/repo_settings.py:210
1111 #: rhodecode/apps/repository/views/repo_settings_advanced.py:287
1112 1112 msgid "An error occurred during unlocking"
1113 1113 msgstr ""
1114 1114
1115 #: rhodecode/apps/repository/views/repo_settings.py:264
1115 #: rhodecode/apps/repository/views/repo_settings.py:248
1116 1116 msgid "An error occurred during deletion of repository stats"
1117 1117 msgstr ""
1118 1118
1119 #: rhodecode/apps/repository/views/repo_settings_advanced.py:114
1119 #: rhodecode/apps/repository/views/repo_settings_advanced.py:108
1120 1120 #, python-format
1121 1121 msgid "Archived repository `%s`"
1122 1122 msgstr ""
1123 1123
1124 #: rhodecode/apps/repository/views/repo_settings_advanced.py:119
1124 #: rhodecode/apps/repository/views/repo_settings_advanced.py:113
1125 1125 #, python-format
1126 1126 msgid "An error occurred during archiving of `%s`"
1127 1127 msgstr ""
1128 1128
1129 #: rhodecode/apps/repository/views/repo_settings_advanced.py:157
1129 #: rhodecode/apps/repository/views/repo_settings_advanced.py:148
1130 1130 #, python-format
1131 1131 msgid "Detached %s forks"
1132 1132 msgstr ""
1133 1133
1134 #: rhodecode/apps/repository/views/repo_settings_advanced.py:150
1135 #, python-format
1136 msgid "Deleted %s forks"
1137 msgstr ""
1138
1134 1139 #: rhodecode/apps/repository/views/repo_settings_advanced.py:159
1135 1140 #, python-format
1136 msgid "Deleted %s forks"
1137 msgstr ""
1138
1139 #: rhodecode/apps/repository/views/repo_settings_advanced.py:168
1140 #, python-format
1141 1141 msgid "Deleted repository `%s`"
1142 1142 msgstr ""
1143 1143
1144 #: rhodecode/apps/repository/views/repo_settings_advanced.py:175
1144 #: rhodecode/apps/repository/views/repo_settings_advanced.py:166
1145 1145 msgid "detach or delete"
1146 1146 msgstr ""
1147 1147
1148 #: rhodecode/apps/repository/views/repo_settings_advanced.py:176
1148 #: rhodecode/apps/repository/views/repo_settings_advanced.py:167
1149 1149 msgid "Cannot delete `{repo}` it still contains attached forks. Try using {delete_or_detach} option."
1150 1150 msgstr ""
1151 1151
1152 #: rhodecode/apps/repository/views/repo_settings_advanced.py:182
1153 msgid "Cannot delete `{repo}` it still contains {num} attached pull requests. Consider archiving the repository instead."
1154 msgstr ""
1155
1152 1156 #: rhodecode/apps/repository/views/repo_settings_advanced.py:191
1153 msgid "Cannot delete `{repo}` it still contains {num} attached pull requests. Consider archiving the repository instead."
1154 msgstr ""
1155
1156 #: rhodecode/apps/repository/views/repo_settings_advanced.py:200
1157 1157 #, python-format
1158 1158 msgid "An error occurred during deletion of `%s`"
1159 1159 msgstr ""
1160 1160
1161 #: rhodecode/apps/repository/views/repo_settings_advanced.py:225
1161 #: rhodecode/apps/repository/views/repo_settings_advanced.py:213
1162 1162 msgid "Updated repository visibility in public journal"
1163 1163 msgstr ""
1164 1164
1165 #: rhodecode/apps/repository/views/repo_settings_advanced.py:229
1165 #: rhodecode/apps/repository/views/repo_settings_advanced.py:217
1166 1166 msgid "An error occurred during setting this repository in public journal"
1167 1167 msgstr ""
1168 1168
1169 #: rhodecode/apps/repository/views/repo_settings_advanced.py:265
1169 #: rhodecode/apps/repository/views/repo_settings_advanced.py:250
1170 1170 msgid "Nothing"
1171 1171 msgstr ""
1172 1172
1173 #: rhodecode/apps/repository/views/repo_settings_advanced.py:268
1173 #: rhodecode/apps/repository/views/repo_settings_advanced.py:253
1174 1174 #, python-format
1175 1175 msgid "Marked repo %s as fork of %s"
1176 1176 msgstr ""
1177 1177
1178 #: rhodecode/apps/repository/views/repo_settings_advanced.py:275
1178 #: rhodecode/apps/repository/views/repo_settings_advanced.py:260
1179 1179 msgid "An error occurred during this operation"
1180 1180 msgstr ""
1181 1181
1182 #: rhodecode/apps/repository/views/repo_settings_advanced.py:299
1182 #: rhodecode/apps/repository/views/repo_settings_advanced.py:281
1183 1183 msgid "Locked repository"
1184 1184 msgstr ""
1185 1185
1186 #: rhodecode/apps/repository/views/repo_settings_advanced.py:302
1186 #: rhodecode/apps/repository/views/repo_settings_advanced.py:284
1187 1187 msgid "Unlocked repository"
1188 1188 msgstr ""
1189 1189
1190 #: rhodecode/apps/repository/views/repo_settings_advanced.py:322
1190 #: rhodecode/apps/repository/views/repo_settings_advanced.py:301
1191 1191 msgid "installed updated hooks into this repository"
1192 1192 msgstr ""
1193 1193
1194 #: rhodecode/apps/repository/views/repo_settings_fields.py:86
1194 #: rhodecode/apps/repository/views/repo_settings_fields.py:79
1195 1195 msgid "An error occurred during creation of field"
1196 1196 msgstr ""
1197 1197
1198 #: rhodecode/apps/repository/views/repo_settings_fields.py:108
1198 #: rhodecode/apps/repository/views/repo_settings_fields.py:98
1199 1199 msgid "An error occurred during removal of field"
1200 1200 msgstr ""
1201 1201
1202 #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:86
1202 #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:77
1203 1203 msgid "Error occurred during deleting issue tracker entry"
1204 1204 msgstr ""
1205 1205
1206 #: rhodecode/apps/repository/views/repo_settings_remote.py:64
1206 #: rhodecode/apps/repository/views/repo_settings_remote.py:58
1207 1207 msgid "Pulled from remote location"
1208 1208 msgstr ""
1209 1209
1210 #: rhodecode/apps/repository/views/repo_settings_remote.py:67
1210 #: rhodecode/apps/repository/views/repo_settings_remote.py:61
1211 1211 msgid "An error occurred during pull from remote location"
1212 1212 msgstr ""
1213 1213
1214 #: rhodecode/apps/repository/views/repo_settings_vcs.py:147
1214 #: rhodecode/apps/repository/views/repo_settings_vcs.py:139
1215 1215 msgid "Error occurred during updating repository VCS settings"
1216 1216 msgstr ""
1217 1217
1218 #: rhodecode/apps/repository/views/repo_summary.py:240
1218 #: rhodecode/apps/repository/views/repo_summary.py:222
1219 1219 #: rhodecode/templates/admin/permissions/permissions.mako:42
1220 1220 #: rhodecode/templates/summary/components.mako:8
1221 1221 msgid "Branch"
1222 1222 msgstr ""
1223 1223
1224 #: rhodecode/apps/repository/views/repo_summary.py:241
1224 #: rhodecode/apps/repository/views/repo_summary.py:223
1225 1225 #: rhodecode/templates/summary/components.mako:32
1226 1226 msgid "Tag"
1227 1227 msgstr ""
1228 1228
1229 #: rhodecode/apps/repository/views/repo_summary.py:242
1229 #: rhodecode/apps/repository/views/repo_summary.py:224
1230 1230 #: rhodecode/templates/summary/components.mako:44
1231 1231 msgid "Bookmark"
1232 1232 msgstr ""
1233 1233
1234 #: rhodecode/apps/repository/views/repo_summary.py:265
1234 #: rhodecode/apps/repository/views/repo_summary.py:244
1235 1235 msgid "Closed branches"
1236 1236 msgstr ""
1237 1237
@@ -1243,41 +1243,41 b' msgstr ""'
1243 1243 msgid "Configuration for Apache mad_dav_svn changed."
1244 1244 msgstr ""
1245 1245
1246 #: rhodecode/apps/user_group/views/__init__.py:188
1246 #: rhodecode/apps/user_group/views/__init__.py:176
1247 1247 #, python-format
1248 1248 msgid "Updated user group %s"
1249 1249 msgstr ""
1250 1250
1251 #: rhodecode/apps/user_group/views/__init__.py:224
1251 #: rhodecode/apps/user_group/views/__init__.py:212
1252 1252 #, python-format
1253 1253 msgid "Error occurred during update of user group %s"
1254 1254 msgstr ""
1255 1255
1256 #: rhodecode/apps/user_group/views/__init__.py:250
1256 #: rhodecode/apps/user_group/views/__init__.py:235
1257 1257 msgid "Successfully deleted user group"
1258 1258 msgstr ""
1259 1259
1260 #: rhodecode/apps/user_group/views/__init__.py:255
1260 #: rhodecode/apps/user_group/views/__init__.py:240
1261 1261 msgid "An error occurred during deletion of user group"
1262 1262 msgstr ""
1263 1263
1264 #: rhodecode/apps/user_group/views/__init__.py:359
1264 #: rhodecode/apps/user_group/views/__init__.py:335
1265 1265 msgid "Target group cannot be the same"
1266 1266 msgstr ""
1267 1267
1268 #: rhodecode/apps/user_group/views/__init__.py:374
1268 #: rhodecode/apps/user_group/views/__init__.py:350
1269 1269 msgid "User Group permissions updated"
1270 1270 msgstr ""
1271 1271
1272 #: rhodecode/apps/user_group/views/__init__.py:459
1272 #: rhodecode/apps/user_group/views/__init__.py:429
1273 1273 msgid "User Group global permissions updated successfully"
1274 1274 msgstr ""
1275 1275
1276 #: rhodecode/apps/user_group/views/__init__.py:541
1276 #: rhodecode/apps/user_group/views/__init__.py:505
1277 1277 msgid "User Group synchronization updated successfully"
1278 1278 msgstr ""
1279 1279
1280 #: rhodecode/apps/user_group/views/__init__.py:545
1280 #: rhodecode/apps/user_group/views/__init__.py:509
1281 1281 msgid "An error occurred during synchronization update"
1282 1282 msgstr ""
1283 1283
@@ -1800,7 +1800,7 b' msgstr ""'
1800 1800 #: rhodecode/templates/admin/repo_groups/repo_group_edit_settings.mako:78
1801 1801 #: rhodecode/templates/admin/repos/repo_edit_fields.mako:66
1802 1802 #: rhodecode/templates/admin/repos/repo_edit_permissions.mako:207
1803 #: rhodecode/templates/admin/repos/repo_edit_settings.mako:251
1803 #: rhodecode/templates/admin/repos/repo_edit_settings.mako:252
1804 1804 #: rhodecode/templates/admin/repos/repo_edit_vcs.mako:44
1805 1805 #: rhodecode/templates/admin/settings/settings_global.mako:141
1806 1806 #: rhodecode/templates/admin/settings/settings_issuetracker.mako:16
@@ -2310,7 +2310,7 b' msgstr ""'
2310 2310
2311 2311 #: rhodecode/lib/utils2.py:571 rhodecode/public/js/scripts.js:22612
2312 2312 #: rhodecode/public/js/scripts.min.js:1
2313 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:136
2313 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:145
2314 2314 #: rhodecode/public/js/src/plugins/jquery.timeago-extension.js:174
2315 2315 msgid "just now"
2316 2316 msgstr ""
@@ -2354,7 +2354,7 b' msgstr ""'
2354 2354 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2270
2355 2355 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2321
2356 2356 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2322
2357 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2522 rhodecode/model/db.py:3111
2357 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2522 rhodecode/model/db.py:3132
2358 2358 msgid "Repository no access"
2359 2359 msgstr ""
2360 2360
@@ -2397,7 +2397,7 b' msgstr ""'
2397 2397 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2271
2398 2398 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2322
2399 2399 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2323
2400 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2523 rhodecode/model/db.py:3112
2400 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2523 rhodecode/model/db.py:3133
2401 2401 msgid "Repository read access"
2402 2402 msgstr ""
2403 2403
@@ -2440,7 +2440,7 b' msgstr ""'
2440 2440 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2272
2441 2441 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2323
2442 2442 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2324
2443 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2524 rhodecode/model/db.py:3113
2443 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2524 rhodecode/model/db.py:3134
2444 2444 msgid "Repository write access"
2445 2445 msgstr ""
2446 2446
@@ -2483,7 +2483,7 b' msgstr ""'
2483 2483 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2273
2484 2484 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2324
2485 2485 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2325
2486 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2525 rhodecode/model/db.py:3114
2486 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2525 rhodecode/model/db.py:3135
2487 2487 msgid "Repository admin access"
2488 2488 msgstr ""
2489 2489
@@ -2566,7 +2566,7 b' msgstr ""'
2566 2566 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2291
2567 2567 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2342
2568 2568 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2343
2569 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2543 rhodecode/model/db.py:3137
2569 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2543 rhodecode/model/db.py:3158
2570 2570 msgid "Repository creation disabled"
2571 2571 msgstr ""
2572 2572
@@ -2609,7 +2609,7 b' msgstr ""'
2609 2609 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2292
2610 2610 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2343
2611 2611 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2344
2612 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2544 rhodecode/model/db.py:3138
2612 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2544 rhodecode/model/db.py:3159
2613 2613 msgid "Repository creation enabled"
2614 2614 msgstr ""
2615 2615
@@ -2652,7 +2652,7 b' msgstr ""'
2652 2652 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2296
2653 2653 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2347
2654 2654 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2348
2655 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2548 rhodecode/model/db.py:3142
2655 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2548 rhodecode/model/db.py:3163
2656 2656 msgid "Repository forking disabled"
2657 2657 msgstr ""
2658 2658
@@ -2695,7 +2695,7 b' msgstr ""'
2695 2695 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2297
2696 2696 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2348
2697 2697 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2349
2698 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2549 rhodecode/model/db.py:3143
2698 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2549 rhodecode/model/db.py:3164
2699 2699 msgid "Repository forking enabled"
2700 2700 msgstr ""
2701 2701
@@ -2759,9 +2759,9 b' msgstr ""'
2759 2759 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2910
2760 2760 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3011
2761 2761 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:3012
2762 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3230 rhodecode/model/db.py:3972
2763 #: rhodecode/public/js/scripts.js:42424 rhodecode/public/js/scripts.min.js:1
2764 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:70
2762 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3230 rhodecode/model/db.py:3997
2763 #: rhodecode/public/js/scripts.js:42595 rhodecode/public/js/scripts.min.js:1
2764 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:72
2765 2765 #: rhodecode/public/js/src/rhodecode/pullrequests.js:396
2766 2766 msgid "Not Reviewed"
2767 2767 msgstr ""
@@ -2805,7 +2805,7 b' msgstr ""'
2805 2805 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2911
2806 2806 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3012
2807 2807 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:3013
2808 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3231 rhodecode/model/db.py:3973
2808 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3231 rhodecode/model/db.py:3998
2809 2809 msgid "Approved"
2810 2810 msgstr ""
2811 2811
@@ -2848,7 +2848,7 b' msgstr ""'
2848 2848 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2912
2849 2849 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3013
2850 2850 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:3014
2851 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3232 rhodecode/model/db.py:3974
2851 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3232 rhodecode/model/db.py:3999
2852 2852 msgid "Rejected"
2853 2853 msgstr ""
2854 2854
@@ -2891,7 +2891,7 b' msgstr ""'
2891 2891 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2913
2892 2892 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3014
2893 2893 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:3015
2894 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3233 rhodecode/model/db.py:3975
2894 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3233 rhodecode/model/db.py:4000
2895 2895 msgid "Under Review"
2896 2896 msgstr ""
2897 2897
@@ -2931,7 +2931,7 b' msgstr ""'
2931 2931 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2275
2932 2932 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2326
2933 2933 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2327
2934 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2527 rhodecode/model/db.py:3116
2934 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2527 rhodecode/model/db.py:3137
2935 2935 msgid "Repository group no access"
2936 2936 msgstr ""
2937 2937
@@ -2971,7 +2971,7 b' msgstr ""'
2971 2971 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2276
2972 2972 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2327
2973 2973 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2328
2974 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2528 rhodecode/model/db.py:3117
2974 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2528 rhodecode/model/db.py:3138
2975 2975 msgid "Repository group read access"
2976 2976 msgstr ""
2977 2977
@@ -3011,7 +3011,7 b' msgstr ""'
3011 3011 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2277
3012 3012 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2328
3013 3013 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2329
3014 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2529 rhodecode/model/db.py:3118
3014 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2529 rhodecode/model/db.py:3139
3015 3015 msgid "Repository group write access"
3016 3016 msgstr ""
3017 3017
@@ -3051,7 +3051,7 b' msgstr ""'
3051 3051 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2278
3052 3052 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2329
3053 3053 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2330
3054 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2530 rhodecode/model/db.py:3119
3054 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2530 rhodecode/model/db.py:3140
3055 3055 msgid "Repository group admin access"
3056 3056 msgstr ""
3057 3057
@@ -3090,7 +3090,7 b' msgstr ""'
3090 3090 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2280
3091 3091 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2331
3092 3092 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2332
3093 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2532 rhodecode/model/db.py:3121
3093 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2532 rhodecode/model/db.py:3142
3094 3094 msgid "User group no access"
3095 3095 msgstr ""
3096 3096
@@ -3129,7 +3129,7 b' msgstr ""'
3129 3129 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2281
3130 3130 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2332
3131 3131 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2333
3132 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2533 rhodecode/model/db.py:3122
3132 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2533 rhodecode/model/db.py:3143
3133 3133 msgid "User group read access"
3134 3134 msgstr ""
3135 3135
@@ -3168,7 +3168,7 b' msgstr ""'
3168 3168 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2282
3169 3169 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2333
3170 3170 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2334
3171 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2534 rhodecode/model/db.py:3123
3171 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2534 rhodecode/model/db.py:3144
3172 3172 msgid "User group write access"
3173 3173 msgstr ""
3174 3174
@@ -3207,7 +3207,7 b' msgstr ""'
3207 3207 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2283
3208 3208 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2334
3209 3209 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2335
3210 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2535 rhodecode/model/db.py:3124
3210 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2535 rhodecode/model/db.py:3145
3211 3211 msgid "User group admin access"
3212 3212 msgstr ""
3213 3213
@@ -3246,7 +3246,7 b' msgstr ""'
3246 3246 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2285
3247 3247 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2336
3248 3248 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2337
3249 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2537 rhodecode/model/db.py:3131
3249 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2537 rhodecode/model/db.py:3152
3250 3250 msgid "Repository Group creation disabled"
3251 3251 msgstr ""
3252 3252
@@ -3285,7 +3285,7 b' msgstr ""'
3285 3285 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2286
3286 3286 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2337
3287 3287 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2338
3288 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2538 rhodecode/model/db.py:3132
3288 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2538 rhodecode/model/db.py:3153
3289 3289 msgid "Repository Group creation enabled"
3290 3290 msgstr ""
3291 3291
@@ -3324,7 +3324,7 b' msgstr ""'
3324 3324 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2288
3325 3325 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2339
3326 3326 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2340
3327 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2540 rhodecode/model/db.py:3134
3327 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2540 rhodecode/model/db.py:3155
3328 3328 msgid "User Group creation disabled"
3329 3329 msgstr ""
3330 3330
@@ -3363,7 +3363,7 b' msgstr ""'
3363 3363 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2289
3364 3364 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2340
3365 3365 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2341
3366 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2541 rhodecode/model/db.py:3135
3366 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2541 rhodecode/model/db.py:3156
3367 3367 msgid "User Group creation enabled"
3368 3368 msgstr ""
3369 3369
@@ -3402,7 +3402,7 b' msgstr ""'
3402 3402 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2299
3403 3403 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2350
3404 3404 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2351
3405 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2551 rhodecode/model/db.py:3145
3405 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2551 rhodecode/model/db.py:3166
3406 3406 msgid "Registration disabled"
3407 3407 msgstr ""
3408 3408
@@ -3441,7 +3441,7 b' msgstr ""'
3441 3441 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2300
3442 3442 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2351
3443 3443 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2352
3444 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2552 rhodecode/model/db.py:3146
3444 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2552 rhodecode/model/db.py:3167
3445 3445 msgid "User Registration with manual account activation"
3446 3446 msgstr ""
3447 3447
@@ -3480,7 +3480,7 b' msgstr ""'
3480 3480 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2301
3481 3481 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2352
3482 3482 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2353
3483 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2553 rhodecode/model/db.py:3147
3483 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2553 rhodecode/model/db.py:3168
3484 3484 msgid "User Registration with automatic account activation"
3485 3485 msgstr ""
3486 3486
@@ -3519,7 +3519,7 b' msgstr ""'
3519 3519 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2303
3520 3520 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2358
3521 3521 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2359
3522 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2559 rhodecode/model/db.py:3153
3522 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2559 rhodecode/model/db.py:3174
3523 3523 #: rhodecode/model/permission.py:105
3524 3524 msgid "Manual activation of external account"
3525 3525 msgstr ""
@@ -3559,7 +3559,7 b' msgstr ""'
3559 3559 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2304
3560 3560 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2359
3561 3561 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2360
3562 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2560 rhodecode/model/db.py:3154
3562 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2560 rhodecode/model/db.py:3175
3563 3563 #: rhodecode/model/permission.py:106
3564 3564 msgid "Automatic activation of external account"
3565 3565 msgstr ""
@@ -3593,7 +3593,7 b' msgstr ""'
3593 3593 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2293
3594 3594 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2344
3595 3595 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2345
3596 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2545 rhodecode/model/db.py:3139
3596 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2545 rhodecode/model/db.py:3160
3597 3597 msgid "Repository creation enabled with write permission to a repository group"
3598 3598 msgstr ""
3599 3599
@@ -3626,7 +3626,7 b' msgstr ""'
3626 3626 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2294
3627 3627 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2345
3628 3628 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2346
3629 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2546 rhodecode/model/db.py:3140
3629 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2546 rhodecode/model/db.py:3161
3630 3630 msgid "Repository creation disabled with write permission to a repository group"
3631 3631 msgstr ""
3632 3632
@@ -3656,7 +3656,7 b' msgstr ""'
3656 3656 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2268
3657 3657 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2319
3658 3658 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2320
3659 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2520 rhodecode/model/db.py:3109
3659 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2520 rhodecode/model/db.py:3130
3660 3660 msgid "RhodeCode Super Administrator"
3661 3661 msgstr ""
3662 3662
@@ -3684,7 +3684,7 b' msgstr ""'
3684 3684 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2306
3685 3685 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2361
3686 3686 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2362
3687 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2562 rhodecode/model/db.py:3156
3687 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2562 rhodecode/model/db.py:3177
3688 3688 msgid "Inherit object permissions from default user disabled"
3689 3689 msgstr ""
3690 3690
@@ -3712,7 +3712,7 b' msgstr ""'
3712 3712 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2307
3713 3713 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2362
3714 3714 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2363
3715 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2563 rhodecode/model/db.py:3157
3715 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2563 rhodecode/model/db.py:3178
3716 3716 msgid "Inherit object permissions from default user enabled"
3717 3717 msgstr ""
3718 3718
@@ -3732,7 +3732,7 b' msgstr ""'
3732 3732 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:912
3733 3733 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:955
3734 3734 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:956
3735 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:1050 rhodecode/model/db.py:1203
3735 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:1050 rhodecode/model/db.py:1224
3736 3736 msgid "all"
3737 3737 msgstr ""
3738 3738
@@ -3752,7 +3752,7 b' msgstr ""'
3752 3752 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:913
3753 3753 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:956
3754 3754 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:957
3755 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:1051 rhodecode/model/db.py:1204
3755 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:1051 rhodecode/model/db.py:1225
3756 3756 msgid "http/web interface"
3757 3757 msgstr ""
3758 3758
@@ -3772,7 +3772,7 b' msgstr ""'
3772 3772 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:914
3773 3773 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:957
3774 3774 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:958
3775 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:1052 rhodecode/model/db.py:1205
3775 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:1052 rhodecode/model/db.py:1226
3776 3776 msgid "vcs (git/hg/svn protocol)"
3777 3777 msgstr ""
3778 3778
@@ -3792,7 +3792,7 b' msgstr ""'
3792 3792 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:915
3793 3793 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:958
3794 3794 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:959
3795 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:1053 rhodecode/model/db.py:1206
3795 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:1053 rhodecode/model/db.py:1227
3796 3796 msgid "api calls"
3797 3797 msgstr ""
3798 3798
@@ -3812,7 +3812,7 b' msgstr ""'
3812 3812 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:916
3813 3813 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:959
3814 3814 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:960
3815 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:1054 rhodecode/model/db.py:1207
3815 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:1054 rhodecode/model/db.py:1228
3816 3816 msgid "feed access"
3817 3817 msgstr ""
3818 3818
@@ -3832,7 +3832,7 b' msgstr ""'
3832 3832 #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2046
3833 3833 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2090
3834 3834 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2091
3835 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2284 rhodecode/model/db.py:2767
3835 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2284 rhodecode/model/db.py:2788
3836 3836 msgid "No parent"
3837 3837 msgstr ""
3838 3838
@@ -3847,7 +3847,7 b' msgstr ""'
3847 3847 #: rhodecode/lib/dbmigrate/schema/db_4_20_0_0.py:3148
3848 3848 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2354
3849 3849 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2355
3850 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2555 rhodecode/model/db.py:3149
3850 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2555 rhodecode/model/db.py:3170
3851 3851 msgid "Password reset enabled"
3852 3852 msgstr ""
3853 3853
@@ -3862,7 +3862,7 b' msgstr ""'
3862 3862 #: rhodecode/lib/dbmigrate/schema/db_4_20_0_0.py:3149
3863 3863 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2355
3864 3864 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2356
3865 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2556 rhodecode/model/db.py:3150
3865 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2556 rhodecode/model/db.py:3171
3866 3866 msgid "Password reset hidden"
3867 3867 msgstr ""
3868 3868
@@ -3877,7 +3877,7 b' msgstr ""'
3877 3877 #: rhodecode/lib/dbmigrate/schema/db_4_20_0_0.py:3150
3878 3878 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2356
3879 3879 #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2357
3880 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2557 rhodecode/model/db.py:3151
3880 #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2557 rhodecode/model/db.py:3172
3881 3881 msgid "Password reset disabled"
3882 3882 msgstr ""
3883 3883
@@ -3889,7 +3889,7 b' msgstr ""'
3889 3889 #: rhodecode/lib/dbmigrate/schema/db_4_19_0_0.py:3088
3890 3890 #: rhodecode/lib/dbmigrate/schema/db_4_19_0_2.py:3094
3891 3891 #: rhodecode/lib/dbmigrate/schema/db_4_20_0_0.py:3125
3892 #: rhodecode/model/db.py:3126
3892 #: rhodecode/model/db.py:3147
3893 3893 msgid "Branch no permissions"
3894 3894 msgstr ""
3895 3895
@@ -3901,7 +3901,7 b' msgstr ""'
3901 3901 #: rhodecode/lib/dbmigrate/schema/db_4_19_0_0.py:3089
3902 3902 #: rhodecode/lib/dbmigrate/schema/db_4_19_0_2.py:3095
3903 3903 #: rhodecode/lib/dbmigrate/schema/db_4_20_0_0.py:3126
3904 #: rhodecode/model/db.py:3127
3904 #: rhodecode/model/db.py:3148
3905 3905 msgid "Branch access by web merge"
3906 3906 msgstr ""
3907 3907
@@ -3913,7 +3913,7 b' msgstr ""'
3913 3913 #: rhodecode/lib/dbmigrate/schema/db_4_19_0_0.py:3090
3914 3914 #: rhodecode/lib/dbmigrate/schema/db_4_19_0_2.py:3096
3915 3915 #: rhodecode/lib/dbmigrate/schema/db_4_20_0_0.py:3127
3916 #: rhodecode/model/db.py:3128
3916 #: rhodecode/model/db.py:3149
3917 3917 msgid "Branch access by push"
3918 3918 msgstr ""
3919 3919
@@ -3925,44 +3925,44 b' msgstr ""'
3925 3925 #: rhodecode/lib/dbmigrate/schema/db_4_19_0_0.py:3091
3926 3926 #: rhodecode/lib/dbmigrate/schema/db_4_19_0_2.py:3097
3927 3927 #: rhodecode/lib/dbmigrate/schema/db_4_20_0_0.py:3128
3928 #: rhodecode/model/db.py:3129
3928 #: rhodecode/model/db.py:3150
3929 3929 msgid "Branch access by push with force"
3930 3930 msgstr ""
3931 3931
3932 3932 #: rhodecode/lib/dbmigrate/schema/db_4_19_0_0.py:1194
3933 3933 #: rhodecode/lib/dbmigrate/schema/db_4_19_0_2.py:1200
3934 3934 #: rhodecode/lib/dbmigrate/schema/db_4_20_0_0.py:1207
3935 #: rhodecode/model/db.py:1208
3935 #: rhodecode/model/db.py:1229
3936 3936 msgid "artifacts downloads"
3937 3937 msgstr ""
3938 3938
3939 3939 #: rhodecode/lib/dbmigrate/schema/db_4_20_0_0.py:1213
3940 #: rhodecode/model/db.py:1214
3940 #: rhodecode/model/db.py:1235
3941 3941 msgid "Token for all actions."
3942 3942 msgstr ""
3943 3943
3944 3944 #: rhodecode/lib/dbmigrate/schema/db_4_20_0_0.py:1214
3945 #: rhodecode/model/db.py:1215
3945 #: rhodecode/model/db.py:1236
3946 3946 msgid "Token to access RhodeCode pages via web interface without login using `api_access_controllers_whitelist` functionality."
3947 3947 msgstr ""
3948 3948
3949 3949 #: rhodecode/lib/dbmigrate/schema/db_4_20_0_0.py:1216
3950 #: rhodecode/model/db.py:1217
3950 #: rhodecode/model/db.py:1238
3951 3951 msgid "Token to interact over git/hg/svn protocols. Requires auth_token authentication plugin to be active. <br/>Such Token should be used then instead of a password to interact with a repository, and additionally can be limited to single repository using repo scope."
3952 3952 msgstr ""
3953 3953
3954 3954 #: rhodecode/lib/dbmigrate/schema/db_4_20_0_0.py:1221
3955 #: rhodecode/model/db.py:1222
3955 #: rhodecode/model/db.py:1243
3956 3956 msgid "Token limited to api calls."
3957 3957 msgstr ""
3958 3958
3959 3959 #: rhodecode/lib/dbmigrate/schema/db_4_20_0_0.py:1222
3960 #: rhodecode/model/db.py:1223
3960 #: rhodecode/model/db.py:1244
3961 3961 msgid "Token to read RSS/ATOM feed."
3962 3962 msgstr ""
3963 3963
3964 3964 #: rhodecode/lib/dbmigrate/schema/db_4_20_0_0.py:1223
3965 #: rhodecode/model/db.py:1224
3965 #: rhodecode/model/db.py:1245
3966 3966 msgid "Token for artifacts downloads."
3967 3967 msgstr ""
3968 3968
@@ -4261,79 +4261,79 b' msgstr ""'
4261 4261 msgid "This pull request cannot be updated because the source reference is missing."
4262 4262 msgstr ""
4263 4263
4264 #: rhodecode/model/pull_request.py:1674
4264 #: rhodecode/model/pull_request.py:1688
4265 4265 msgid "Server-side pull request merging is disabled."
4266 4266 msgstr ""
4267 4267
4268 #: rhodecode/model/pull_request.py:1677
4269 msgid "This pull request is closed."
4270 msgstr ""
4271
4272 4268 #: rhodecode/model/pull_request.py:1691
4269 msgid "This pull request is closed."
4270 msgstr ""
4271
4272 #: rhodecode/model/pull_request.py:1705
4273 4273 msgid "Pull request merging is not supported."
4274 4274 msgstr ""
4275 4275
4276 #: rhodecode/model/pull_request.py:1708
4276 #: rhodecode/model/pull_request.py:1722
4277 4277 msgid "Target repository large files support is disabled."
4278 4278 msgstr ""
4279 4279
4280 #: rhodecode/model/pull_request.py:1711
4280 #: rhodecode/model/pull_request.py:1725
4281 4281 msgid "Source repository large files support is disabled."
4282 4282 msgstr ""
4283 4283
4284 #: rhodecode/model/pull_request.py:1895 rhodecode/model/scm.py:1008
4284 #: rhodecode/model/pull_request.py:1909 rhodecode/model/scm.py:1008
4285 4285 #: rhodecode/templates/admin/my_account/my_account.mako:32
4286 4286 #: rhodecode/templates/base/base.mako:638
4287 4287 #: rhodecode/templates/summary/components.mako:46
4288 4288 msgid "Bookmarks"
4289 4289 msgstr ""
4290 4290
4291 #: rhodecode/model/pull_request.py:1900
4291 #: rhodecode/model/pull_request.py:1914
4292 4292 msgid "Commit IDs"
4293 4293 msgstr ""
4294 4294
4295 #: rhodecode/model/pull_request.py:1903
4295 #: rhodecode/model/pull_request.py:1917
4296 4296 #: rhodecode/templates/summary/components.mako:22
4297 4297 msgid "Closed Branches"
4298 4298 msgstr ""
4299 4299
4300 #: rhodecode/model/pull_request.py:2089
4300 #: rhodecode/model/pull_request.py:2103
4301 4301 msgid "WIP marker in title prevents from accidental merge."
4302 4302 msgstr ""
4303 4303
4304 #: rhodecode/model/pull_request.py:2099
4304 #: rhodecode/model/pull_request.py:2113
4305 4305 msgid "User `{}` not allowed to perform merge."
4306 4306 msgstr ""
4307 4307
4308 #: rhodecode/model/pull_request.py:2117
4308 #: rhodecode/model/pull_request.py:2131
4309 4309 msgid "Target branch `{}` changes rejected by rule {}."
4310 4310 msgstr ""
4311 4311
4312 #: rhodecode/model/pull_request.py:2132
4313 msgid "Pull request reviewer approval is pending."
4314 msgstr ""
4315
4316 4312 #: rhodecode/model/pull_request.py:2146
4313 msgid "Pull request reviewer approval is pending."
4314 msgstr ""
4315
4316 #: rhodecode/model/pull_request.py:2160
4317 4317 msgid "Cannot merge, {} TODO still not resolved."
4318 4318 msgstr ""
4319 4319
4320 #: rhodecode/model/pull_request.py:2149
4320 #: rhodecode/model/pull_request.py:2163
4321 4321 msgid "Cannot merge, {} TODOs still not resolved."
4322 4322 msgstr ""
4323 4323
4324 #: rhodecode/model/pull_request.py:2204
4324 #: rhodecode/model/pull_request.py:2218
4325 4325 msgid "Merge strategy: rebase"
4326 4326 msgstr ""
4327 4327
4328 #: rhodecode/model/pull_request.py:2209
4328 #: rhodecode/model/pull_request.py:2223
4329 4329 msgid "Merge strategy: explicit merge commit"
4330 4330 msgstr ""
4331 4331
4332 #: rhodecode/model/pull_request.py:2217
4332 #: rhodecode/model/pull_request.py:2231
4333 4333 msgid "Source branch will be closed before the merge."
4334 4334 msgstr ""
4335 4335
4336 #: rhodecode/model/pull_request.py:2219
4336 #: rhodecode/model/pull_request.py:2233
4337 4337 msgid "Source branch will be deleted after the merge."
4338 4338 msgstr ""
4339 4339
@@ -4557,6 +4557,10 b' msgstr ""'
4557 4557 msgid "Please enter a valid json object"
4558 4558 msgstr ""
4559 4559
4560 #: rhodecode/model/validation_schema/validators.py:159
4561 msgid "Please enter a valid json object: `{}`"
4562 msgstr ""
4563
4560 4564 #: rhodecode/model/validation_schema/schemas/comment_schema.py:42
4561 4565 #: rhodecode/model/validation_schema/schemas/gist_schema.py:89
4562 4566 msgid "Gist with name {} already exists"
@@ -4679,157 +4683,157 b' msgid ": , "'
4679 4683 msgstr ""
4680 4684
4681 4685 #: rhodecode/public/js/scripts.js:20822 rhodecode/public/js/scripts.min.js:1
4682 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:64
4686 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:66
4683 4687 #: rhodecode/public/js/src/plugins/jquery.autocomplete.js:87
4684 4688 msgid "No results"
4685 4689 msgstr ""
4686 4690
4687 4691 #: rhodecode/public/js/scripts.js:22547 rhodecode/public/js/scripts.min.js:1
4688 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:170
4692 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:185
4689 4693 #: rhodecode/public/js/src/plugins/jquery.timeago-extension.js:109
4690 4694 msgid "{0} year"
4691 4695 msgstr ""
4692 4696
4693 4697 #: rhodecode/public/js/scripts.js:22548 rhodecode/public/js/scripts.min.js:1
4694 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:158
4698 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:171
4695 4699 #: rhodecode/public/js/src/plugins/jquery.timeago-extension.js:110
4696 4700 msgid "{0} month"
4697 4701 msgstr ""
4698 4702
4699 4703 #: rhodecode/public/js/scripts.js:22549 rhodecode/public/js/scripts.min.js:1
4700 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:153
4704 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:166
4701 4705 #: rhodecode/public/js/src/plugins/jquery.timeago-extension.js:111
4702 4706 msgid "{0} day"
4703 4707 msgstr ""
4704 4708
4705 4709 #: rhodecode/public/js/scripts.js:22550 rhodecode/public/js/scripts.min.js:1
4706 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:155
4710 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:168
4707 4711 #: rhodecode/public/js/src/plugins/jquery.timeago-extension.js:112
4708 4712 msgid "{0} hour"
4709 4713 msgstr ""
4710 4714
4711 4715 #: rhodecode/public/js/scripts.js:22551 rhodecode/public/js/scripts.min.js:1
4712 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:157
4716 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:170
4713 4717 #: rhodecode/public/js/src/plugins/jquery.timeago-extension.js:113
4714 4718 msgid "{0} min"
4715 4719 msgstr ""
4716 4720
4717 4721 #: rhodecode/public/js/scripts.js:22552 rhodecode/public/js/scripts.min.js:1
4718 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:167
4722 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:180
4719 4723 #: rhodecode/public/js/src/plugins/jquery.timeago-extension.js:114
4720 4724 msgid "{0} sec"
4721 4725 msgstr ""
4722 4726
4723 4727 #: rhodecode/public/js/scripts.js:22572 rhodecode/public/js/scripts.min.js:1
4724 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:133
4728 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:142
4725 4729 #: rhodecode/public/js/src/plugins/jquery.timeago-extension.js:134
4726 4730 msgid "in {0}"
4727 4731 msgstr ""
4728 4732
4729 4733 #: rhodecode/public/js/scripts.js:22580 rhodecode/public/js/scripts.min.js:1
4730 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:150
4734 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:159
4731 4735 #: rhodecode/public/js/src/plugins/jquery.timeago-extension.js:142
4732 4736 msgid "{0} ago"
4733 4737 msgstr ""
4734 4738
4735 4739 #: rhodecode/public/js/scripts.js:22592 rhodecode/public/js/scripts.min.js:1
4736 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:172
4740 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:187
4737 4741 #: rhodecode/public/js/src/plugins/jquery.timeago-extension.js:154
4738 4742 msgid "{0}, {1} ago"
4739 4743 msgstr ""
4740 4744
4741 4745 #: rhodecode/public/js/scripts.js:22594 rhodecode/public/js/scripts.min.js:1
4742 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:135
4746 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:144
4743 4747 #: rhodecode/public/js/src/plugins/jquery.timeago-extension.js:156
4744 4748 msgid "in {0}, {1}"
4745 4749 msgstr ""
4746 4750
4747 4751 #: rhodecode/public/js/scripts.js:22598 rhodecode/public/js/scripts.min.js:1
4748 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:151
4752 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:160
4749 4753 #: rhodecode/public/js/src/plugins/jquery.timeago-extension.js:160
4750 4754 msgid "{0} and {1}"
4751 4755 msgstr ""
4752 4756
4753 4757 #: rhodecode/public/js/scripts.js:22600 rhodecode/public/js/scripts.min.js:1
4754 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:152
4758 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:161
4755 4759 #: rhodecode/public/js/src/plugins/jquery.timeago-extension.js:162
4756 4760 msgid "{0} and {1} ago"
4757 4761 msgstr ""
4758 4762
4759 4763 #: rhodecode/public/js/scripts.js:22602 rhodecode/public/js/scripts.min.js:1
4760 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:134
4764 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:143
4761 4765 #: rhodecode/public/js/src/plugins/jquery.timeago-extension.js:164
4762 4766 msgid "in {0} and {1}"
4763 4767 msgstr ""
4764 4768
4765 4769 #: rhodecode/public/js/scripts.js:37600 rhodecode/public/js/scripts.min.js:1
4766 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:51
4770 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:52
4767 4771 #: rhodecode/public/js/rhodecode/i18n/select2/translations.js:4
4768 4772 msgid "Loading more results..."
4769 4773 msgstr ""
4770 4774
4771 4775 #: rhodecode/public/js/scripts.js:37603 rhodecode/public/js/scripts.min.js:1
4772 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:82
4776 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:85
4773 4777 #: rhodecode/public/js/rhodecode/i18n/select2/translations.js:7
4774 4778 msgid "Searching..."
4775 4779 msgstr ""
4776 4780
4777 4781 #: rhodecode/public/js/scripts.js:37606 rhodecode/public/js/scripts.min.js:1
4778 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:57
4782 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:59
4779 4783 #: rhodecode/public/js/rhodecode/i18n/select2/translations.js:10
4780 4784 msgid "No matches found"
4781 4785 msgstr ""
4782 4786
4783 4787 #: rhodecode/public/js/scripts.js:37609 rhodecode/public/js/scripts.min.js:1
4784 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:50
4788 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:51
4785 4789 #: rhodecode/public/js/rhodecode/i18n/select2/translations.js:13
4786 4790 msgid "Loading failed"
4787 4791 msgstr ""
4788 4792
4789 4793 #: rhodecode/public/js/scripts.js:37613 rhodecode/public/js/scripts.min.js:1
4790 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:72
4794 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:74
4791 4795 #: rhodecode/public/js/rhodecode/i18n/select2/translations.js:17
4792 4796 msgid "One result is available, press enter to select it."
4793 4797 msgstr ""
4794 4798
4795 4799 #: rhodecode/public/js/scripts.js:37615 rhodecode/public/js/scripts.min.js:1
4796 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:166
4800 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:179
4797 4801 #: rhodecode/public/js/rhodecode/i18n/select2/translations.js:19
4798 4802 msgid "{0} results are available, use up and down arrow keys to navigate."
4799 4803 msgstr ""
4800 4804
4801 4805 #: rhodecode/public/js/scripts.js:37620 rhodecode/public/js/scripts.min.js:1
4802 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:77
4806 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:79
4803 4807 #: rhodecode/public/js/rhodecode/i18n/select2/translations.js:24
4804 4808 msgid "Please enter {0} or more character"
4805 4809 msgstr ""
4806 4810
4807 4811 #: rhodecode/public/js/scripts.js:37622 rhodecode/public/js/scripts.min.js:1
4808 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:78
4812 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:80
4809 4813 #: rhodecode/public/js/rhodecode/i18n/select2/translations.js:26
4810 4814 msgid "Please enter {0} or more characters"
4811 4815 msgstr ""
4812 4816
4813 4817 #: rhodecode/public/js/scripts.js:37627 rhodecode/public/js/scripts.min.js:1
4814 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:75
4818 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:77
4815 4819 #: rhodecode/public/js/rhodecode/i18n/select2/translations.js:31
4816 4820 msgid "Please delete {0} character"
4817 4821 msgstr ""
4818 4822
4819 4823 #: rhodecode/public/js/scripts.js:37629 rhodecode/public/js/scripts.min.js:1
4820 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:76
4824 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:78
4821 4825 #: rhodecode/public/js/rhodecode/i18n/select2/translations.js:33
4822 4826 msgid "Please delete {0} characters"
4823 4827 msgstr ""
4824 4828
4825 4829 #: rhodecode/public/js/scripts.js:37633 rhodecode/public/js/scripts.min.js:1
4826 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:123
4830 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:132
4827 4831 #: rhodecode/public/js/rhodecode/i18n/select2/translations.js:37
4828 4832 msgid "You can only select {0} item"
4829 4833 msgstr ""
4830 4834
4831 4835 #: rhodecode/public/js/scripts.js:37635 rhodecode/public/js/scripts.min.js:1
4832 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:124
4836 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:133
4833 4837 #: rhodecode/public/js/rhodecode/i18n/select2/translations.js:39
4834 4838 msgid "You can only select {0} items"
4835 4839 msgstr ""
@@ -4841,50 +4845,50 b' msgid "Ajax Request Error"'
4841 4845 msgstr ""
4842 4846
4843 4847 #: rhodecode/public/js/scripts.js:38691 rhodecode/public/js/scripts.min.js:1
4844 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:142
4848 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:151
4845 4849 #: rhodecode/public/js/src/rhodecode/changelog.js:35
4846 4850 msgid "showing {0} out of {1} commit"
4847 4851 msgstr ""
4848 4852
4849 4853 #: rhodecode/public/js/scripts.js:38693 rhodecode/public/js/scripts.min.js:1
4850 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:143
4854 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:152
4851 4855 #: rhodecode/public/js/src/rhodecode/changelog.js:37
4852 4856 msgid "showing {0} out of {1} commits"
4853 4857 msgstr ""
4854 4858
4855 #: rhodecode/public/js/scripts.js:39232 rhodecode/public/js/scripts.min.js:1
4856 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:85
4859 #: rhodecode/public/js/scripts.js:39237 rhodecode/public/js/scripts.min.js:1
4860 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:88
4857 4861 #: rhodecode/public/js/src/rhodecode/codemirror.js:368
4858 4862 msgid "Set status to Approved"
4859 4863 msgstr ""
4860 4864
4861 #: rhodecode/public/js/scripts.js:39252 rhodecode/public/js/scripts.min.js:1
4862 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:86
4865 #: rhodecode/public/js/scripts.js:39257 rhodecode/public/js/scripts.min.js:1
4866 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:89
4863 4867 #: rhodecode/public/js/src/rhodecode/codemirror.js:388
4864 4868 msgid "Set status to Rejected"
4865 4869 msgstr ""
4866 4870
4867 #: rhodecode/public/js/scripts.js:39271 rhodecode/public/js/scripts.min.js:1
4868 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:106
4871 #: rhodecode/public/js/scripts.js:39276 rhodecode/public/js/scripts.min.js:1
4872 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:112
4869 4873 #: rhodecode/public/js/src/rhodecode/codemirror.js:407
4870 4874 msgid "TODO comment"
4871 4875 msgstr ""
4872 4876
4873 #: rhodecode/public/js/scripts.js:39291 rhodecode/public/js/scripts.min.js:1
4874 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:71
4877 #: rhodecode/public/js/scripts.js:39296 rhodecode/public/js/scripts.min.js:1
4878 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:73
4875 4879 #: rhodecode/public/js/src/rhodecode/codemirror.js:427
4876 4880 msgid "Note Comment"
4877 4881 msgstr ""
4878 4882
4879 #: rhodecode/public/js/scripts.js:39592 rhodecode/public/js/scripts.js:39967
4883 #: rhodecode/public/js/scripts.js:39599 rhodecode/public/js/scripts.js:39987
4880 4884 #: rhodecode/public/js/scripts.min.js:1
4881 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:99
4885 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:103
4882 4886 #: rhodecode/public/js/src/rhodecode/codemirror.js:730
4883 4887 #: rhodecode/public/js/src/rhodecode/comments.js:267
4884 4888 msgid "Status Review"
4885 4889 msgstr ""
4886 4890
4887 #: rhodecode/public/js/scripts.js:39607 rhodecode/public/js/scripts.js:39982
4891 #: rhodecode/public/js/scripts.js:39614 rhodecode/public/js/scripts.js:40004
4888 4892 #: rhodecode/public/js/scripts.min.js:1
4889 4893 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:24
4890 4894 #: rhodecode/public/js/src/rhodecode/codemirror.js:745
@@ -4892,9 +4896,9 b' msgstr ""'
4892 4896 msgid "Comment text will be set automatically based on currently selected status ({0}) ..."
4893 4897 msgstr ""
4894 4898
4895 #: rhodecode/public/js/scripts.js:39688 rhodecode/public/js/scripts.js:40177
4896 #: rhodecode/public/js/scripts.js:41535 rhodecode/public/js/scripts.min.js:1
4897 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:48
4899 #: rhodecode/public/js/scripts.js:39695 rhodecode/public/js/scripts.js:40213
4900 #: rhodecode/public/js/scripts.js:41745 rhodecode/public/js/scripts.min.js:1
4901 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:49
4898 4902 #: rhodecode/public/js/src/rhodecode/codemirror.js:826
4899 4903 #: rhodecode/public/js/src/rhodecode/comments.js:493
4900 4904 #: rhodecode/public/js/src/rhodecode/files.js:499
@@ -4902,83 +4906,103 b' msgstr ""'
4902 4906 msgid "Loading ..."
4903 4907 msgstr ""
4904 4908
4905 #: rhodecode/public/js/scripts.js:39849 rhodecode/public/js/scripts.min.js:1
4906 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:117
4907 msgid "Updated Comment"
4908 msgstr ""
4909
4910 #: rhodecode/public/js/scripts.js:39873 rhodecode/public/js/scripts.min.js:1
4911 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:141
4909 #: rhodecode/public/js/scripts.js:39860 rhodecode/public/js/scripts.min.js:1
4910 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:123
4911 #: rhodecode/public/js/src/rhodecode/comments.js:140
4912 msgid "Update Comment"
4913 msgstr ""
4914
4915 #: rhodecode/public/js/scripts.js:39884 rhodecode/public/js/scripts.min.js:1
4916 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:150
4912 4917 #: rhodecode/public/js/src/rhodecode/comments.js:164
4913 4918 msgid "resolve comment"
4914 4919 msgstr ""
4915 4920
4916 #: rhodecode/public/js/scripts.js:40126 rhodecode/public/js/scripts.min.js:1
4917 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:102
4921 #: rhodecode/public/js/scripts.js:40157 rhodecode/public/js/scripts.min.js:1
4922 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:83
4923 #: rhodecode/public/js/src/rhodecode/comments.js:437
4924 msgid "Saving Draft..."
4925 msgstr ""
4926
4927 #: rhodecode/public/js/scripts.js:40159 rhodecode/public/js/scripts.min.js:1
4928 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:108
4918 4929 #: rhodecode/public/js/src/rhodecode/comments.js:439
4919 4930 msgid "Submitting..."
4920 4931 msgstr ""
4921 4932
4922 #: rhodecode/public/js/scripts.js:40423 rhodecode/public/js/scripts.min.js:1
4923 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:122
4933 #: rhodecode/public/js/scripts.js:40481 rhodecode/public/js/scripts.min.js:1
4934 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:131
4924 4935 #: rhodecode/public/js/src/rhodecode/comments.js:761
4925 4936 msgid "Yes, delete comment #{0}!"
4926 4937 msgstr ""
4927 4938
4928 #: rhodecode/public/js/scripts.js:40487 rhodecode/public/js/scripts.min.js:1
4929 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:46
4939 #: rhodecode/public/js/scripts.js:40526 rhodecode/public/js/scripts.min.js:1
4940 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:106
4941 #: rhodecode/public/js/src/rhodecode/comments.js:806
4942 msgid "Submit {0} draft comment."
4943 msgstr ""
4944
4945 #: rhodecode/public/js/scripts.js:40529 rhodecode/public/js/scripts.min.js:1
4946 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:130
4947 #: rhodecode/public/js/src/rhodecode/comments.js:809
4948 msgid "Yes"
4949 msgstr ""
4950
4951 #: rhodecode/public/js/scripts.js:40621 rhodecode/public/js/scripts.min.js:1
4952 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:47
4930 4953 #: rhodecode/public/js/src/rhodecode/comments.js:901
4931 4954 msgid "Leave a resolution comment, or click resolve button to resolve TODO comment #{0}"
4932 4955 msgstr ""
4933 4956
4934 #: rhodecode/public/js/scripts.js:40696 rhodecode/public/js/scripts.min.js:1
4957 #: rhodecode/public/js/scripts.js:40825 rhodecode/public/js/scripts.min.js:1
4935 4958 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:23
4936 4959 #: rhodecode/public/js/src/rhodecode/comments.js:1105
4937 4960 msgid "Comment body was not changed."
4938 4961 msgstr ""
4939 4962
4940 #: rhodecode/public/js/scripts.js:40875 rhodecode/public/js/scripts.min.js:1
4963 #: rhodecode/public/js/scripts.js:41071 rhodecode/public/js/scripts.min.js:1
4941 4964 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:44
4942 msgid "Leave a comment on line {0}."
4943 msgstr ""
4944
4945 #: rhodecode/public/js/scripts.js:41006 rhodecode/public/js/scripts.min.js:1
4946 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:107
4947 #: rhodecode/public/js/src/rhodecode/comments.js:1491
4965 #: rhodecode/public/js/src/rhodecode/comments.js:1351
4966 msgid "Leave a comment on file {0} line {1}."
4967 msgstr ""
4968
4969 #: rhodecode/public/js/scripts.js:41212 rhodecode/public/js/scripts.min.js:1
4970 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:113
4971 #: rhodecode/public/js/src/rhodecode/comments.js:1492
4948 4972 msgid "TODO from comment {0} was fixed."
4949 4973 msgstr ""
4950 4974
4951 #: rhodecode/public/js/scripts.js:41284 rhodecode/public/js/scripts.min.js:1
4952 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:145
4975 #: rhodecode/public/js/scripts.js:41494 rhodecode/public/js/scripts.min.js:1
4976 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:154
4953 4977 #: rhodecode/public/js/src/rhodecode/files.js:248
4954 4978 msgid "truncated result"
4955 4979 msgstr ""
4956 4980
4957 #: rhodecode/public/js/scripts.js:41286 rhodecode/public/js/scripts.min.js:1
4958 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:146
4981 #: rhodecode/public/js/scripts.js:41496 rhodecode/public/js/scripts.min.js:1
4982 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:155
4959 4983 #: rhodecode/public/js/src/rhodecode/files.js:250
4960 4984 msgid "truncated results"
4961 4985 msgstr ""
4962 4986
4963 #: rhodecode/public/js/scripts.js:41295 rhodecode/public/js/scripts.min.js:1
4964 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:58
4987 #: rhodecode/public/js/scripts.js:41505 rhodecode/public/js/scripts.min.js:1
4988 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:60
4965 4989 #: rhodecode/public/js/src/rhodecode/files.js:259
4966 4990 msgid "No matching files"
4967 4991 msgstr ""
4968 4992
4969 #: rhodecode/public/js/scripts.js:41353 rhodecode/public/js/scripts.min.js:1
4970 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:83
4993 #: rhodecode/public/js/scripts.js:41563 rhodecode/public/js/scripts.min.js:1
4994 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:86
4971 4995 #: rhodecode/public/js/src/rhodecode/files.js:317
4972 4996 msgid "Selection link"
4973 4997 msgstr ""
4974 4998
4975 #: rhodecode/public/js/scripts.js:41450 rhodecode/public/js/scripts.min.js:1
4999 #: rhodecode/public/js/scripts.js:41660 rhodecode/public/js/scripts.min.js:1
4976 5000 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:10
4977 5001 #: rhodecode/public/js/src/rhodecode/files.js:414
4978 5002 msgid "All Authors"
4979 5003 msgstr ""
4980 5004
4981 #: rhodecode/public/js/scripts.js:41600 rhodecode/public/js/scripts.js:41603
5005 #: rhodecode/public/js/scripts.js:41810 rhodecode/public/js/scripts.js:41813
4982 5006 #: rhodecode/public/js/scripts.min.js:1
4983 5007 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:38
4984 5008 #: rhodecode/public/js/src/rhodecode/files.js:564
@@ -4986,175 +5010,142 b' msgstr ""'
4986 5010 msgid "File `{0}` has a newer version available, or has been removed. Click {1} to see the latest version."
4987 5011 msgstr ""
4988 5012
4989 #: rhodecode/public/js/scripts.js:41606 rhodecode/public/js/scripts.min.js:1
4990 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:111
5013 #: rhodecode/public/js/scripts.js:41816 rhodecode/public/js/scripts.min.js:1
5014 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:117
4991 5015 #: rhodecode/public/js/src/rhodecode/files.js:570
4992 5016 msgid "There is an existing path `{0}` at this commit."
4993 5017 msgstr ""
4994 5018
4995 #: rhodecode/public/js/scripts.js:41609 rhodecode/public/js/scripts.min.js:1
4996 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:110
5019 #: rhodecode/public/js/scripts.js:41819 rhodecode/public/js/scripts.min.js:1
5020 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:116
4997 5021 #: rhodecode/public/js/src/rhodecode/files.js:573
4998 5022 msgid "There is a later version of file tree available. Click {0} to create a file at the latest tree."
4999 5023 msgstr ""
5000 5024
5001 #: rhodecode/public/js/scripts.js:41663 rhodecode/public/js/scripts.min.js:1
5002 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:101
5025 #: rhodecode/public/js/scripts.js:41873 rhodecode/public/js/scripts.min.js:1
5026 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:105
5003 5027 #: rhodecode/public/js/src/rhodecode/followers.js:26
5004 5028 msgid "Stopped watching this repository"
5005 5029 msgstr ""
5006 5030
5007 #: rhodecode/public/js/scripts.js:41664 rhodecode/public/js/scripts.min.js:1
5008 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:121
5031 #: rhodecode/public/js/scripts.js:41874 rhodecode/public/js/scripts.min.js:1
5032 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:129
5009 5033 #: rhodecode/public/js/src/rhodecode/followers.js:27
5010 5034 #: rhodecode/templates/base/base.mako:310
5011 5035 msgid "Watch"
5012 5036 msgstr ""
5013 5037
5014 #: rhodecode/public/js/scripts.js:41667 rhodecode/public/js/scripts.min.js:1
5015 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:98
5038 #: rhodecode/public/js/scripts.js:41877 rhodecode/public/js/scripts.min.js:1
5039 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:102
5016 5040 #: rhodecode/public/js/src/rhodecode/followers.js:30
5017 5041 msgid "Started watching this repository"
5018 5042 msgstr ""
5019 5043
5020 #: rhodecode/public/js/scripts.js:41668 rhodecode/public/js/scripts.min.js:1
5021 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:116
5044 #: rhodecode/public/js/scripts.js:41878 rhodecode/public/js/scripts.min.js:1
5045 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:122
5022 5046 #: rhodecode/public/js/src/rhodecode/followers.js:31
5023 5047 #: rhodecode/templates/base/base.mako:308
5024 5048 msgid "Unwatch"
5025 5049 msgstr ""
5026 5050
5027 #: rhodecode/public/js/scripts.js:42165 rhodecode/public/js/scripts.min.js:1
5051 #: rhodecode/public/js/scripts.js:42384 rhodecode/public/js/scripts.min.js:1
5028 5052 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:12
5029 5053 #: rhodecode/public/js/src/rhodecode/pullrequests.js:185
5030 5054 msgid "All reviewers must vote."
5031 5055 msgstr ""
5032 5056
5033 #: rhodecode/public/js/scripts.js:42174 rhodecode/public/js/scripts.min.js:1
5034 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:11
5035 msgid "All individual reviewers must vote."
5036 msgstr ""
5037
5038 #: rhodecode/public/js/scripts.js:42179 rhodecode/public/js/scripts.min.js:1
5039 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:14
5040 msgid "At least {0} reviewer must vote."
5041 msgstr ""
5042
5043 #: rhodecode/public/js/scripts.js:42185 rhodecode/public/js/scripts.min.js:1
5044 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:15
5045 msgid "At least {0} reviewers must vote."
5046 msgstr ""
5047
5048 #: rhodecode/public/js/scripts.js:42201 rhodecode/public/js/scripts.min.js:1
5049 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:80
5050 msgid "Reviewers picked from source code changes."
5051 msgstr ""
5052
5053 #: rhodecode/public/js/scripts.js:42209 rhodecode/public/js/scripts.min.js:1
5054 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:8
5055 msgid "Adding new reviewers is forbidden."
5056 msgstr ""
5057
5058 #: rhodecode/public/js/scripts.js:42217 rhodecode/public/js/scripts.min.js:1
5059 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:17
5060 msgid "Author is not allowed to be a reviewer."
5061 msgstr ""
5062
5063 #: rhodecode/public/js/scripts.js:42231 rhodecode/public/js/scripts.min.js:1
5064 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:25
5065 msgid "Commit Authors are not allowed to be a reviewer."
5066 msgstr ""
5067
5068 #: rhodecode/public/js/scripts.js:42238 rhodecode/public/js/scripts.min.js:1
5069 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:65
5070 msgid "No review rules set."
5071 msgstr ""
5072
5073 #: rhodecode/public/js/scripts.js:42283 rhodecode/public/js/scripts.min.js:1
5074 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:49
5057 #: rhodecode/public/js/scripts.js:42408 rhodecode/public/js/scripts.min.js:1
5058 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:54
5059 #: rhodecode/public/js/src/rhodecode/pullrequests.js:209
5060 msgid "No additional review rules set."
5061 msgstr ""
5062
5063 #: rhodecode/public/js/scripts.js:42454 rhodecode/public/js/scripts.min.js:1
5064 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:50
5075 5065 #: rhodecode/public/js/src/rhodecode/pullrequests.js:255
5076 5066 msgid "Loading diff ..."
5077 5067 msgstr ""
5078 5068
5079 #: rhodecode/public/js/scripts.js:42336 rhodecode/public/js/scripts.min.js:1
5080 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:109
5069 #: rhodecode/public/js/scripts.js:42507 rhodecode/public/js/scripts.min.js:1
5070 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:115
5081 5071 #: rhodecode/public/js/src/rhodecode/pullrequests.js:308
5082 5072 msgid "There are no commits to merge."
5083 5073 msgstr ""
5084 5074
5085 #: rhodecode/public/js/scripts.js:42408 rhodecode/public/js/scripts.min.js:1
5086 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:120
5075 #: rhodecode/public/js/scripts.js:42579 rhodecode/public/js/scripts.min.js:1
5076 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:128
5087 5077 #: rhodecode/public/js/src/rhodecode/pullrequests.js:380
5088 5078 msgid "User `{0}` not allowed to be a reviewer"
5089 5079 msgstr ""
5090 5080
5091 #: rhodecode/public/js/scripts.js:42414 rhodecode/public/js/scripts.min.js:1
5081 #: rhodecode/public/js/scripts.js:42585 rhodecode/public/js/scripts.min.js:1
5082 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:127
5092 5083 #: rhodecode/public/js/src/rhodecode/pullrequests.js:386
5093 5084 msgid "User `{0}` already in reviewers/observers"
5094 5085 msgstr ""
5095 5086
5096 #: rhodecode/public/js/scripts.js:42528 rhodecode/public/js/scripts.min.js:1
5097 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:126
5098 #: rhodecode/public/js/src/rhodecode/pullrequests.js:500
5087 #: rhodecode/public/js/scripts.js:42699 rhodecode/public/js/scripts.min.js:1
5088 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:135
5089 #: rhodecode/public/js/src/rhodecode/pullrequests.js:501
5099 5090 msgid "added manually by \"{0}\""
5100 5091 msgstr ""
5101 5092
5102 #: rhodecode/public/js/scripts.js:42533 rhodecode/public/js/scripts.min.js:1
5103 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:138
5104 #: rhodecode/public/js/src/rhodecode/pullrequests.js:505
5093 #: rhodecode/public/js/scripts.js:42704 rhodecode/public/js/scripts.min.js:1
5094 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:147
5095 #: rhodecode/public/js/src/rhodecode/pullrequests.js:506
5105 5096 msgid "member of \"{0}\""
5106 5097 msgstr ""
5107 5098
5108 #: rhodecode/public/js/scripts.js:42766 rhodecode/public/js/scripts.min.js:1
5109 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:118
5110 #: rhodecode/public/js/src/rhodecode/pullrequests.js:738
5099 #: rhodecode/public/js/scripts.js:42937 rhodecode/public/js/scripts.min.js:1
5100 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:125
5101 #: rhodecode/public/js/src/rhodecode/pullrequests.js:739
5111 5102 msgid "Updating..."
5112 5103 msgstr ""
5113 5104
5114 #: rhodecode/public/js/scripts.js:42776 rhodecode/public/js/scripts.min.js:1
5105 #: rhodecode/public/js/scripts.js:42947 rhodecode/public/js/scripts.min.js:1
5115 5106 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:40
5116 #: rhodecode/public/js/src/rhodecode/pullrequests.js:748
5107 #: rhodecode/public/js/src/rhodecode/pullrequests.js:749
5117 5108 msgid "Force updating..."
5118 5109 msgstr ""
5119 5110
5120 #: rhodecode/public/js/scripts.js:47613 rhodecode/public/js/scripts.min.js:1
5121 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:94
5111 #: rhodecode/public/js/scripts.js:47812 rhodecode/public/js/scripts.min.js:1
5112 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:98
5122 5113 #: rhodecode/public/js/src/rhodecode/users.js:54
5123 5114 msgid "Show this authentication token?"
5124 5115 msgstr ""
5125 5116
5126 #: rhodecode/public/js/scripts.js:47615 rhodecode/public/js/scripts.min.js:1
5127 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:87
5117 #: rhodecode/public/js/scripts.js:47814 rhodecode/public/js/scripts.min.js:1
5118 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:90
5128 5119 #: rhodecode/public/js/src/rhodecode/users.js:56
5129 5120 msgid "Show"
5130 5121 msgstr ""
5131 5122
5132 #: rhodecode/public/js/scripts.js:47651 rhodecode/public/js/scripts.min.js:1
5123 #: rhodecode/public/js/scripts.js:47850 rhodecode/public/js/scripts.min.js:1
5133 5124 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:16
5134 5125 #: rhodecode/public/js/src/rhodecode/users.js:92
5135 5126 msgid "Authentication Token"
5136 5127 msgstr ""
5137 5128
5138 #: rhodecode/public/js/scripts.js:47840 rhodecode/public/js/scripts.min.js:1
5139 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:130
5129 #: rhodecode/public/js/scripts.js:48039 rhodecode/public/js/scripts.min.js:1
5130 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:139
5140 5131 #: rhodecode/public/js/src/rhodecode.js:144
5141 5132 msgid "file"
5142 5133 msgstr ""
5143 5134
5144 #: rhodecode/public/js/scripts.js:47984 rhodecode/public/js/scripts.min.js:1
5145 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:52
5135 #: rhodecode/public/js/scripts.js:48183 rhodecode/public/js/scripts.min.js:1
5136 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:53
5146 5137 #: rhodecode/public/js/src/rhodecode.js:288
5147 5138 msgid "Loading..."
5148 5139 msgstr ""
5149 5140
5150 #: rhodecode/public/js/scripts.js:48366 rhodecode/public/js/scripts.min.js:1
5151 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:127
5141 #: rhodecode/public/js/scripts.js:48565 rhodecode/public/js/scripts.min.js:1
5142 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:136
5152 5143 #: rhodecode/public/js/src/rhodecode.js:670
5153 5144 msgid "date not in future"
5154 5145 msgstr ""
5155 5146
5156 #: rhodecode/public/js/scripts.js:48374 rhodecode/public/js/scripts.min.js:1
5157 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:96
5147 #: rhodecode/public/js/scripts.js:48573 rhodecode/public/js/scripts.min.js:1
5148 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:100
5158 5149 #: rhodecode/public/js/src/rhodecode.js:678
5159 5150 msgid "Specified expiration date"
5160 5151 msgstr ""
@@ -5195,19 +5186,39 b' msgstr ""'
5195 5186 msgid "Add another comment"
5196 5187 msgstr ""
5197 5188
5189 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:8
5190 msgid "Adding new reviewers is forbidden."
5191 msgstr ""
5192
5193 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:11
5194 msgid "All individual reviewers must vote."
5195 msgstr ""
5196
5198 5197 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:13
5199 5198 msgid "Are you sure to close this pull request without merging?"
5200 5199 msgstr ""
5201 5200
5201 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:14
5202 msgid "At least {0} reviewer must vote."
5203 msgstr ""
5204
5205 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:15
5206 msgid "At least {0} reviewers must vote."
5207 msgstr ""
5208
5209 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:17
5210 msgid "Author is not allowed to be a reviewer."
5211 msgstr ""
5212
5202 5213 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:18
5203 5214 msgid "Changed files"
5204 5215 msgstr ""
5205 5216
5206 5217 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:19
5207 5218 #: rhodecode/public/js/src/i18n_messages.js:5
5208 #: rhodecode/templates/pullrequests/pullrequest_show.mako:623
5209 #: rhodecode/templates/pullrequests/pullrequest_show.mako:626
5210 #: rhodecode/templates/pullrequests/pullrequest_show.mako:680
5219 #: rhodecode/templates/pullrequests/pullrequest_show.mako:610
5220 #: rhodecode/templates/pullrequests/pullrequest_show.mako:613
5221 #: rhodecode/templates/pullrequests/pullrequest_show.mako:676
5211 5222 msgid "Close"
5212 5223 msgstr ""
5213 5224
@@ -5224,6 +5235,10 b' msgstr ""'
5224 5235 msgid "Collapse {0} commits"
5225 5236 msgstr ""
5226 5237
5238 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:25
5239 msgid "Commit Authors are not allowed to be a reviewer."
5240 msgstr ""
5241
5227 5242 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:26
5228 5243 msgid "Compare summary: <strong>{0} commit</strong>"
5229 5244 msgstr ""
@@ -5274,10 +5289,12 b' msgid "Follow"'
5274 5289 msgstr ""
5275 5290
5276 5291 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:41
5292 #: rhodecode/templates/codeblocks/diffs.mako:988
5277 5293 msgid "Hide full context diff"
5278 5294 msgstr ""
5279 5295
5280 5296 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:42
5297 #: rhodecode/templates/codeblocks/diffs.mako:980
5281 5298 msgid "Hide whitespace changes"
5282 5299 msgstr ""
5283 5300
@@ -5287,257 +5304,307 b' msgid "Invite reviewers to this discussi'
5287 5304 msgstr ""
5288 5305
5289 5306 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:45
5307 msgid "Leave a comment on line {0}."
5308 msgstr ""
5309
5310 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:46
5290 5311 msgid "Leave a comment, or click resolve button to resolve TODO comment #{0}"
5291 5312 msgstr ""
5292 5313
5293 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:53
5294 msgid "No bookmarks available yet."
5295 msgstr ""
5296
5297 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:54
5298 msgid "No branches available yet."
5299 msgstr ""
5300
5301 5314 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:55
5302 msgid "No forks available yet."
5315 msgid "No bookmarks available yet."
5303 5316 msgstr ""
5304 5317
5305 5318 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:56
5319 msgid "No branches available yet."
5320 msgstr ""
5321
5322 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:57
5323 msgid "No forks available yet."
5324 msgstr ""
5325
5326 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:58
5306 5327 msgid "No gists available yet."
5307 5328 msgstr ""
5308 5329
5309 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:59
5310 msgid "No pull requests available yet."
5311 msgstr ""
5312
5313 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:60
5314 msgid "No repositories available yet."
5315 msgstr ""
5316
5317 5330 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:61
5318 msgid "No repositories present."
5331 msgid "No pull requests available yet."
5319 5332 msgstr ""
5320 5333
5321 5334 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:62
5322 msgid "No repository groups available yet."
5335 msgid "No repositories available yet."
5323 5336 msgstr ""
5324 5337
5325 5338 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:63
5339 msgid "No repositories present."
5340 msgstr ""
5341
5342 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:64
5343 msgid "No repository groups available yet."
5344 msgstr ""
5345
5346 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:65
5326 5347 msgid "No repository groups present."
5327 5348 msgstr ""
5328 5349
5329 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:66
5330 msgid "No ssh keys available yet."
5331 msgstr ""
5332
5333 5350 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:67
5334 msgid "No tags available yet."
5351 msgid "No review rules set."
5335 5352 msgstr ""
5336 5353
5337 5354 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:68
5338 msgid "No user groups available yet."
5355 msgid "No ssh keys available yet."
5339 5356 msgstr ""
5340 5357
5341 5358 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:69
5359 msgid "No tags available yet."
5360 msgstr ""
5361
5362 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:70
5363 msgid "No user groups available yet."
5364 msgstr ""
5365
5366 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:71
5342 5367 msgid "No users available yet."
5343 5368 msgstr ""
5344 5369
5345 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:73
5370 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:75
5346 5371 #: rhodecode/templates/commits/changelog.mako:78
5347 5372 msgid "Open new pull request"
5348 5373 msgstr ""
5349 5374
5350 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:74
5375 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:76
5351 5376 msgid "Open new pull request for selected commit"
5352 5377 msgstr ""
5353 5378
5354 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:79
5355 msgid "Please wait creating pull request..."
5356 msgstr ""
5357
5358 5379 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:81
5359 msgid "Saving..."
5380 msgid "Please wait creating pull request..."
5381 msgstr ""
5382
5383 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:82
5384 msgid "Reviewers picked from source code changes."
5360 5385 msgstr ""
5361 5386
5362 5387 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:84
5388 msgid "Saving..."
5389 msgstr ""
5390
5391 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:87
5363 5392 #: rhodecode/public/js/src/i18n_messages.js:6
5364 5393 #: rhodecode/templates/admin/settings/settings_email.mako:50
5365 5394 msgid "Send"
5366 5395 msgstr ""
5367 5396
5368 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:88
5397 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:91
5369 5398 msgid "Show at Commit "
5370 5399 msgstr ""
5371 5400
5372 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:89
5373 msgid "Show commit range {0} ... {1}"
5374 msgstr ""
5375
5376 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:90
5377 msgid "Show full context diff"
5378 msgstr ""
5379
5380 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:91
5381 #: rhodecode/templates/admin/settings/settings_exceptions_browse.mako:40
5382 msgid "Show more"
5383 msgstr ""
5384
5385 5401 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:92
5386 msgid "Show selected commit __S"
5402 msgid "Show commit range {0} ... {1}"
5387 5403 msgstr ""
5388 5404
5389 5405 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:93
5390 msgid "Show selected commits __S ... __E"
5406 msgid "Show commit range {0}<i class=\"icon-angle-right\"></i>{1}"
5407 msgstr ""
5408
5409 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:94
5410 #: rhodecode/templates/codeblocks/diffs.mako:990
5411 msgid "Show full context diff"
5391 5412 msgstr ""
5392 5413
5393 5414 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:95
5394 msgid "Show whitespace changes"
5415 #: rhodecode/templates/admin/settings/settings_exceptions_browse.mako:40
5416 msgid "Show more"
5417 msgstr ""
5418
5419 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:96
5420 msgid "Show selected commit __S"
5395 5421 msgstr ""
5396 5422
5397 5423 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:97
5424 msgid "Show selected commits __S ... __E"
5425 msgstr ""
5426
5427 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:99
5428 #: rhodecode/templates/codeblocks/diffs.mako:978
5429 msgid "Show whitespace changes"
5430 msgstr ""
5431
5432 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:101
5398 5433 msgid "Start following this repository"
5399 5434 msgstr ""
5400 5435
5401 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:100
5402 msgid "Stop following this repository"
5403 msgstr ""
5404
5405 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:103
5406 msgid "Switch target repository with the source."
5407 msgstr ""
5408
5409 5436 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:104
5437 msgid "Stop following this repository"
5438 msgstr ""
5439
5440 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:107
5441 msgid "Submit {0} draft comments."
5442 msgstr ""
5443
5444 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:109
5445 msgid "Switch target repository with the source."
5446 msgstr ""
5447
5448 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:110
5410 5449 #: rhodecode/public/js/src/i18n_messages.js:7
5411 5450 msgid "Switch to chat"
5412 5451 msgstr ""
5413 5452
5414 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:105
5453 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:111
5415 5454 #: rhodecode/public/js/src/i18n_messages.js:8
5416 5455 msgid "Switch to comment"
5417 5456 msgstr ""
5418 5457
5419 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:108
5420 msgid "There are currently no open pull requests requiring your participation."
5421 msgstr ""
5422
5423 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:112
5424 msgid "This pull requests will consist of <strong>{0} commit</strong>."
5425 msgstr ""
5426
5427 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:113
5428 msgid "This pull requests will consist of <strong>{0} commits</strong>."
5429 msgstr ""
5430
5431 5458 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:114
5432 msgid "Toggle Wide Mode diff"
5433 msgstr ""
5434
5435 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:115
5436 msgid "Unfollow"
5459 msgid "There are currently no open pull requests requiring your participation."
5460 msgstr ""
5461
5462 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:118
5463 msgid "This pull requests will consist of <strong>{0} commit</strong>."
5437 5464 msgstr ""
5438 5465
5439 5466 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:119
5467 msgid "This pull requests will consist of <strong>{0} commits</strong>."
5468 msgstr ""
5469
5470 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:120
5471 msgid "Toggle Wide Mode diff"
5472 msgstr ""
5473
5474 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:121
5475 msgid "Unfollow"
5476 msgstr ""
5477
5478 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:124
5479 msgid "Updated Comment"
5480 msgstr ""
5481
5482 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:126
5440 5483 msgid "User `{0}` already in reviewers"
5441 5484 msgstr ""
5442 5485
5443 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:125
5486 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:134
5444 5487 #: rhodecode/templates/admin/auth/auth_settings.mako:69
5445 5488 msgid "activated"
5446 5489 msgstr ""
5447 5490
5448 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:128
5449 msgid "disabled"
5450 msgstr ""
5451
5452 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:129
5453 msgid "enabled"
5454 msgstr ""
5455
5456 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:131
5457 msgid "files"
5458 msgstr ""
5459
5460 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:132
5461 msgid "go to numeric commit"
5462 msgstr ""
5463
5464 5491 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:137
5492 msgid "disabled"
5493 msgstr ""
5494
5495 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:138
5496 msgid "enabled"
5497 msgstr ""
5498
5499 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:140
5500 msgid "files"
5501 msgstr ""
5502
5503 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:141
5504 msgid "go to numeric commit"
5505 msgstr ""
5506
5507 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:146
5465 5508 #: rhodecode/templates/index_base.mako:27
5466 5509 #: rhodecode/templates/pullrequests/pullrequest.mako:154
5467 5510 #: rhodecode/templates/pullrequests/pullrequest.mako:178
5468 5511 msgid "loading..."
5469 5512 msgstr ""
5470 5513
5471 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:139
5514 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:148
5472 5515 msgid "no commits"
5473 5516 msgstr ""
5474 5517
5475 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:140
5476 #: rhodecode/templates/admin/auth/auth_settings.mako:69
5477 msgid "not active"
5478 msgstr ""
5479
5480 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:144
5481 msgid "specify commit"
5482 msgstr ""
5483
5484 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:147
5485 msgid "{0} ({1} inactive) of {2} user groups ({3} inactive)"
5486 msgstr ""
5487
5488 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:148
5489 msgid "{0} ({1} inactive) of {2} users ({3} inactive)"
5490 msgstr ""
5491
5492 5518 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:149
5493 msgid "{0} active out of {1} users"
5494 msgstr ""
5495
5496 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:154
5497 msgid "{0} days"
5519 #: rhodecode/templates/admin/auth/auth_settings.mako:69
5520 msgid "not active"
5521 msgstr ""
5522
5523 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:153
5524 msgid "specify commit"
5498 5525 msgstr ""
5499 5526
5500 5527 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:156
5501 msgid "{0} hours"
5502 msgstr ""
5503
5504 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:159
5505 msgid "{0} months"
5506 msgstr ""
5507
5508 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:160
5509 msgid "{0} of {1} repositories"
5510 msgstr ""
5511
5512 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:161
5513 msgid "{0} of {1} repository groups"
5528 msgid "{0} ({1} inactive) of {2} user groups ({3} inactive)"
5529 msgstr ""
5530
5531 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:157
5532 msgid "{0} ({1} inactive) of {2} users ({3} inactive)"
5533 msgstr ""
5534
5535 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:158
5536 msgid "{0} active out of {1} users"
5514 5537 msgstr ""
5515 5538
5516 5539 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:162
5517 msgid "{0} out of {1} ssh keys"
5540 msgid "{0} bookmark"
5518 5541 msgstr ""
5519 5542
5520 5543 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:163
5521 msgid "{0} out of {1} users"
5544 msgid "{0} bookmarks"
5522 5545 msgstr ""
5523 5546
5524 5547 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:164
5525 msgid "{0} repositories"
5548 msgid "{0} branch"
5526 5549 msgstr ""
5527 5550
5528 5551 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:165
5529 msgid "{0} repository groups"
5530 msgstr ""
5531
5532 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:168
5533 msgid "{0} user groups ({1} inactive)"
5552 msgid "{0} branches"
5553 msgstr ""
5554
5555 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:167
5556 msgid "{0} days"
5534 5557 msgstr ""
5535 5558
5536 5559 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:169
5560 msgid "{0} hours"
5561 msgstr ""
5562
5563 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:172
5564 msgid "{0} months"
5565 msgstr ""
5566
5567 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:173
5568 msgid "{0} of {1} repositories"
5569 msgstr ""
5570
5571 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:174
5572 msgid "{0} of {1} repository groups"
5573 msgstr ""
5574
5575 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:175
5576 msgid "{0} out of {1} ssh keys"
5577 msgstr ""
5578
5579 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:176
5580 msgid "{0} out of {1} users"
5581 msgstr ""
5582
5583 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:177
5584 msgid "{0} repositories"
5585 msgstr ""
5586
5587 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:178
5588 msgid "{0} repository groups"
5589 msgstr ""
5590
5591 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:181
5592 msgid "{0} tag"
5593 msgstr ""
5594
5595 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:182
5596 msgid "{0} tags"
5597 msgstr ""
5598
5599 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:183
5600 msgid "{0} user groups ({1} inactive)"
5601 msgstr ""
5602
5603 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:184
5537 5604 msgid "{0} users ({1} inactive)"
5538 5605 msgstr ""
5539 5606
5540 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:171
5607 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:186
5541 5608 msgid "{0} years"
5542 5609 msgstr ""
5543 5610
@@ -5549,30 +5616,6 b' msgstr ""'
5549 5616 msgid "MathML"
5550 5617 msgstr ""
5551 5618
5552 #: rhodecode/public/js/src/rhodecode/comments.js:140
5553 msgid "Update Comment"
5554 msgstr ""
5555
5556 #: rhodecode/public/js/src/rhodecode/comments.js:437
5557 msgid "Saving Draft..."
5558 msgstr ""
5559
5560 #: rhodecode/public/js/src/rhodecode/comments.js:806
5561 msgid "Submit {0} draft comment."
5562 msgstr ""
5563
5564 #: rhodecode/public/js/src/rhodecode/comments.js:809
5565 msgid "Yes"
5566 msgstr ""
5567
5568 #: rhodecode/public/js/src/rhodecode/comments.js:1351
5569 msgid "Leave a comment on file {0} line {1}."
5570 msgstr ""
5571
5572 #: rhodecode/public/js/src/rhodecode/pullrequests.js:209
5573 msgid "No additional review rules set."
5574 msgstr ""
5575
5576 5619 #: rhodecode/templates/index.mako:5
5577 5620 msgid "Dashboard"
5578 5621 msgstr ""
@@ -5630,7 +5673,7 b' msgstr ""'
5630 5673 #: rhodecode/templates/admin/users/user_edit_ssh_keys.mako:15
5631 5674 #: rhodecode/templates/admin/users/user_edit_ssh_keys.mako:57
5632 5675 #: rhodecode/templates/base/issue_tracker_settings.mako:79
5633 #: rhodecode/templates/compare/compare_commits.mako:19
5676 #: rhodecode/templates/compare/compare_commits.mako:22
5634 5677 #: rhodecode/templates/email_templates/pull_request_review.mako:49
5635 5678 #: rhodecode/templates/email_templates/pull_request_review.mako:134
5636 5679 #: rhodecode/templates/email_templates/pull_request_update.mako:45
@@ -5675,7 +5718,7 b' msgstr ""'
5675 5718 #: rhodecode/templates/admin/repos/repos.mako:98
5676 5719 #: rhodecode/templates/bookmarks/bookmarks.mako:76
5677 5720 #: rhodecode/templates/branches/branches.mako:75
5678 #: rhodecode/templates/compare/compare_commits.mako:17
5721 #: rhodecode/templates/compare/compare_commits.mako:20
5679 5722 #: rhodecode/templates/email_templates/commit_comment.mako:60
5680 5723 #: rhodecode/templates/email_templates/commit_comment.mako:114
5681 5724 #: rhodecode/templates/email_templates/commit_comment.mako:141
@@ -6025,7 +6068,7 b' msgstr ""'
6025 6068 #: rhodecode/templates/admin/repos/repo_edit_issuetracker.mako:66
6026 6069 #: rhodecode/templates/admin/repos/repo_edit_issuetracker.mako:84
6027 6070 #: rhodecode/templates/admin/repos/repo_edit_permissions.mako:206
6028 #: rhodecode/templates/admin/repos/repo_edit_settings.mako:250
6071 #: rhodecode/templates/admin/repos/repo_edit_settings.mako:251
6029 6072 #: rhodecode/templates/admin/settings/settings_hooks.mako:63
6030 6073 #: rhodecode/templates/admin/settings/settings_issuetracker.mako:15
6031 6074 #: rhodecode/templates/admin/user_groups/user_group_edit_perms.mako:216
@@ -6191,7 +6234,7 b' msgstr ""'
6191 6234 #: rhodecode/templates/bookmarks/bookmarks.mako:73
6192 6235 #: rhodecode/templates/branches/branches.mako:72
6193 6236 #: rhodecode/templates/commits/changelog.mako:138
6194 #: rhodecode/templates/compare/compare_commits.mako:16
6237 #: rhodecode/templates/compare/compare_commits.mako:19
6195 6238 #: rhodecode/templates/files/files_browser_tree.mako:20
6196 6239 #: rhodecode/templates/pullrequests/pullrequest_show.mako:395
6197 6240 #: rhodecode/templates/pullrequests/pullrequests.mako:100
@@ -6832,8 +6875,8 b' msgstr ""'
6832 6875 #: rhodecode/templates/admin/notifications/notifications_show_all.mako:41
6833 6876 #: rhodecode/templates/changeset/changeset.mako:252
6834 6877 #: rhodecode/templates/changeset/changeset.mako:262
6835 #: rhodecode/templates/pullrequests/pullrequest_show.mako:763
6836 #: rhodecode/templates/pullrequests/pullrequest_show.mako:773
6878 #: rhodecode/templates/pullrequests/pullrequest_show.mako:759
6879 #: rhodecode/templates/pullrequests/pullrequest_show.mako:769
6837 6880 msgid "Comments"
6838 6881 msgstr ""
6839 6882
@@ -9231,6 +9274,7 b' msgid "Sign Out"'
9231 9274 msgstr ""
9232 9275
9233 9276 #: rhodecode/templates/base/base.mako:731
9277 #: rhodecode/templates/changeset/changeset_file_comment.mako:538
9234 9278 msgid "dismiss"
9235 9279 msgstr ""
9236 9280
@@ -9785,18 +9829,18 b' msgid "General Comments"'
9785 9829 msgstr ""
9786 9830
9787 9831 #: rhodecode/templates/changeset/changeset.mako:201
9788 #: rhodecode/templates/pullrequests/pullrequest_show.mako:619
9832 #: rhodecode/templates/pullrequests/pullrequest_show.mako:605
9789 9833 msgid "Reviewers"
9790 9834 msgstr ""
9791 9835
9792 9836 #: rhodecode/templates/changeset/changeset.mako:242
9793 9837 #: rhodecode/templates/pullrequests/pullrequest_show.mako:579
9794 #: rhodecode/templates/pullrequests/pullrequest_show.mako:752
9838 #: rhodecode/templates/pullrequests/pullrequest_show.mako:748
9795 9839 msgid "No TODOs yet"
9796 9840 msgstr ""
9797 9841
9798 9842 #: rhodecode/templates/changeset/changeset.mako:274
9799 #: rhodecode/templates/pullrequests/pullrequest_show.mako:803
9843 #: rhodecode/templates/pullrequests/pullrequest_show.mako:799
9800 9844 msgid "No Comments yet"
9801 9845 msgstr ""
9802 9846
@@ -10093,59 +10137,63 b' msgstr ""'
10093 10137 msgid "Show comments"
10094 10138 msgstr ""
10095 10139
10096 #: rhodecode/templates/codeblocks/diffs.mako:726
10097 #: rhodecode/templates/codeblocks/diffs.mako:773
10098 #: rhodecode/templates/codeblocks/diffs.mako:840
10140 #: rhodecode/templates/codeblocks/diffs.mako:732
10141 #: rhodecode/templates/codeblocks/diffs.mako:779
10142 #: rhodecode/templates/codeblocks/diffs.mako:846
10099 10143 msgid "Comments including outdated: {}. Click here to toggle them."
10100 10144 msgstr ""
10101 10145
10102 #: rhodecode/templates/codeblocks/diffs.mako:728
10103 #: rhodecode/templates/codeblocks/diffs.mako:775
10104 #: rhodecode/templates/codeblocks/diffs.mako:842
10146 #: rhodecode/templates/codeblocks/diffs.mako:734
10147 #: rhodecode/templates/codeblocks/diffs.mako:781
10148 #: rhodecode/templates/codeblocks/diffs.mako:848
10105 10149 msgid "Comments: {}. Click to toggle them."
10106 10150 msgstr ""
10107 10151
10108 #: rhodecode/templates/codeblocks/diffs.mako:914
10109 msgid "Toggle wide diff"
10110 msgstr ""
10111
10112 #: rhodecode/templates/codeblocks/diffs.mako:922
10113 msgid "View diff as side by side"
10152 #: rhodecode/templates/codeblocks/diffs.mako:921
10153 msgid "Scroll to page bottom"
10114 10154 msgstr ""
10115 10155
10116 10156 #: rhodecode/templates/codeblocks/diffs.mako:924
10117 msgid "Side by Side"
10118 msgstr ""
10119
10120 #: rhodecode/templates/codeblocks/diffs.mako:929
10121 msgid "View diff as unified"
10157 msgid "Scroll to page top"
10122 10158 msgstr ""
10123 10159
10124 10160 #: rhodecode/templates/codeblocks/diffs.mako:930
10125 msgid "Unified"
10126 msgstr ""
10127
10128 #: rhodecode/templates/codeblocks/diffs.mako:935
10129 msgid "Turn off: Show the diff as commit range"
10161 msgid "Toggle wide diff"
10130 10162 msgstr ""
10131 10163
10132 10164 #: rhodecode/templates/codeblocks/diffs.mako:938
10165 msgid "View diff as side by side"
10166 msgstr ""
10167
10168 #: rhodecode/templates/codeblocks/diffs.mako:940
10169 msgid "Side by Side"
10170 msgstr ""
10171
10133 10172 #: rhodecode/templates/codeblocks/diffs.mako:945
10173 msgid "View diff as unified"
10174 msgstr ""
10175
10176 #: rhodecode/templates/codeblocks/diffs.mako:946
10177 msgid "Unified"
10178 msgstr ""
10179
10180 #: rhodecode/templates/codeblocks/diffs.mako:951
10181 msgid "Turn off: Show the diff as commit range"
10182 msgstr ""
10183
10184 #: rhodecode/templates/codeblocks/diffs.mako:954
10185 #: rhodecode/templates/codeblocks/diffs.mako:961
10134 10186 msgid "Range Diff"
10135 10187 msgstr ""
10136 10188
10137 #: rhodecode/templates/codeblocks/diffs.mako:942
10189 #: rhodecode/templates/codeblocks/diffs.mako:958
10138 10190 msgid "Show the diff as commit range"
10139 10191 msgstr ""
10140 10192
10141 #: rhodecode/templates/codeblocks/diffs.mako:1007
10193 #: rhodecode/templates/codeblocks/diffs.mako:1050
10142 10194 msgid "Disabled on range diff"
10143 10195 msgstr ""
10144 10196
10145 #: rhodecode/templates/codeblocks/diffs.mako:1314
10146 msgid "..."
10147 msgstr ""
10148
10149 10197 #: rhodecode/templates/codeblocks/source.mako:22
10150 10198 msgid "view annotation from before this change"
10151 10199 msgstr ""
@@ -10247,7 +10295,7 b' msgid "Hidden Evolve State"'
10247 10295 msgstr ""
10248 10296
10249 10297 #: rhodecode/templates/commits/changelog_elements.mako:80
10250 #: rhodecode/templates/compare/compare_commits.mako:47
10298 #: rhodecode/templates/compare/compare_commits.mako:55
10251 10299 #: rhodecode/templates/pullrequests/pullrequest_show.mako:433
10252 10300 #: rhodecode/templates/search/search_commit.mako:34
10253 10301 msgid "Expand commit message"
@@ -10299,12 +10347,16 b' msgstr ""'
10299 10347 msgid "Compare was calculated based on this common ancestor commit"
10300 10348 msgstr ""
10301 10349
10302 #: rhodecode/templates/compare/compare_commits.mako:15
10350 #: rhodecode/templates/compare/compare_commits.mako:18
10303 10351 #: rhodecode/templates/pullrequests/pullrequest_show.mako:394
10304 10352 msgid "Time"
10305 10353 msgstr ""
10306 10354
10307 #: rhodecode/templates/compare/compare_commits.mako:65
10355 #: rhodecode/templates/compare/compare_commits.mako:37
10356 msgid "Pull request version this commit was introduced"
10357 msgstr ""
10358
10359 #: rhodecode/templates/compare/compare_commits.mako:73
10308 10360 msgid "No commits in this compare"
10309 10361 msgstr ""
10310 10362
@@ -11109,17 +11161,17 b' msgid "Reviewers / Observers"'
11109 11161 msgstr ""
11110 11162
11111 11163 #: rhodecode/templates/pullrequests/pullrequest.mako:121
11112 #: rhodecode/templates/pullrequests/pullrequest_show.mako:605
11164 #: rhodecode/templates/pullrequests/pullrequest_show.mako:621
11113 11165 msgid "Reviewer rules"
11114 11166 msgstr ""
11115 11167
11116 11168 #: rhodecode/templates/pullrequests/pullrequest.mako:167
11117 #: rhodecode/templates/pullrequests/pullrequest_show.mako:647
11169 #: rhodecode/templates/pullrequests/pullrequest_show.mako:643
11118 11170 msgid "Add reviewer or reviewer group"
11119 11171 msgstr ""
11120 11172
11121 11173 #: rhodecode/templates/pullrequests/pullrequest.mako:191
11122 #: rhodecode/templates/pullrequests/pullrequest_show.mako:700
11174 #: rhodecode/templates/pullrequests/pullrequest_show.mako:696
11123 11175 msgid "Add observer or observer group"
11124 11176 msgstr ""
11125 11177
@@ -11369,38 +11421,38 b' msgstr ""'
11369 11421 msgid "Submit"
11370 11422 msgstr ""
11371 11423
11372 #: rhodecode/templates/pullrequests/pullrequest_show.mako:625
11424 #: rhodecode/templates/pullrequests/pullrequest_show.mako:612
11373 11425 msgid "Show rules"
11374 11426 msgstr ""
11375 11427
11376 #: rhodecode/templates/pullrequests/pullrequest_show.mako:652
11377 #: rhodecode/templates/pullrequests/pullrequest_show.mako:705
11428 #: rhodecode/templates/pullrequests/pullrequest_show.mako:648
11429 #: rhodecode/templates/pullrequests/pullrequest_show.mako:701
11378 11430 msgid "Save Changes"
11379 11431 msgstr ""
11380 11432
11381 #: rhodecode/templates/pullrequests/pullrequest_show.mako:676
11433 #: rhodecode/templates/pullrequests/pullrequest_show.mako:672
11382 11434 msgid "Observers"
11383 11435 msgstr ""
11384 11436
11385 #: rhodecode/templates/pullrequests/pullrequest_show.mako:742
11437 #: rhodecode/templates/pullrequests/pullrequest_show.mako:738
11386 11438 msgid "TODOs unavailable when browsing versions"
11387 11439 msgstr ""
11388 11440
11389 #: rhodecode/templates/pullrequests/pullrequest_show.mako:814
11390 #: rhodecode/templates/pullrequests/pullrequest_show.mako:822
11441 #: rhodecode/templates/pullrequests/pullrequest_show.mako:810
11442 #: rhodecode/templates/pullrequests/pullrequest_show.mako:818
11391 11443 msgid "Referenced Tickets"
11392 11444 msgstr ""
11393 11445
11394 #: rhodecode/templates/pullrequests/pullrequest_show.mako:828
11446 #: rhodecode/templates/pullrequests/pullrequest_show.mako:824
11395 11447 msgid "In pull request description"
11396 11448 msgstr ""
11397 11449
11398 #: rhodecode/templates/pullrequests/pullrequest_show.mako:842
11399 #: rhodecode/templates/pullrequests/pullrequest_show.mako:861
11450 #: rhodecode/templates/pullrequests/pullrequest_show.mako:838
11451 #: rhodecode/templates/pullrequests/pullrequest_show.mako:857
11400 11452 msgid "No Ticket data found."
11401 11453 msgstr ""
11402 11454
11403 #: rhodecode/templates/pullrequests/pullrequest_show.mako:847
11455 #: rhodecode/templates/pullrequests/pullrequest_show.mako:843
11404 11456 msgid "In commit messages"
11405 11457 msgstr ""
11406 11458
@@ -342,6 +342,7 b' def attach_context_attributes(context, r'
342 342 if request.GET.get('default_encoding'):
343 343 context.default_encodings.insert(0, request.GET.get('default_encoding'))
344 344 context.clone_uri_tmpl = rc_config.get('rhodecode_clone_uri_tmpl')
345 context.clone_uri_id_tmpl = rc_config.get('rhodecode_clone_uri_id_tmpl')
345 346 context.clone_uri_ssh_tmpl = rc_config.get('rhodecode_clone_uri_ssh_tmpl')
346 347
347 348 # INI stored
@@ -33,9 +33,9 b' from email.utils import formatdate'
33 33
34 34 import rhodecode
35 35 from rhodecode.lib import audit_logger
36 from rhodecode.lib.celerylib import get_logger, async_task, RequestContextTask
36 from rhodecode.lib.celerylib import get_logger, async_task, RequestContextTask, run_task
37 37 from rhodecode.lib import hooks_base
38 from rhodecode.lib.utils2 import safe_int, str2bool
38 from rhodecode.lib.utils2 import safe_int, str2bool, aslist
39 39 from rhodecode.model.db import (
40 40 Session, IntegrityError, true, Repository, RepoGroup, User)
41 41
@@ -338,15 +338,39 b' def repo_maintenance(repoid):'
338 338
339 339
340 340 @async_task(ignore_result=True)
341 def check_for_update():
341 def check_for_update(send_email_notification=True, email_recipients=None):
342 342 from rhodecode.model.update import UpdateModel
343 from rhodecode.model.notification import EmailNotificationModel
344
345 log = get_logger(check_for_update)
343 346 update_url = UpdateModel().get_update_url()
344 347 cur_ver = rhodecode.__version__
345 348
346 349 try:
347 350 data = UpdateModel().get_update_data(update_url)
348 latest = data['versions'][0]
349 UpdateModel().store_version(latest['version'])
351
352 current_ver = UpdateModel().get_stored_version(fallback=cur_ver)
353 latest_ver = data['versions'][0]['version']
354 UpdateModel().store_version(latest_ver)
355
356 if send_email_notification:
357 log.debug('Send email notification is enabled. '
358 'Current RhodeCode version: %s, latest known: %s', current_ver, latest_ver)
359 if UpdateModel().is_outdated(current_ver, latest_ver):
360
361 email_kwargs = {
362 'current_ver': current_ver,
363 'latest_ver': latest_ver,
364 }
365
366 (subject, email_body, email_body_plaintext) = EmailNotificationModel().render_email(
367 EmailNotificationModel.TYPE_UPDATE_AVAILABLE, **email_kwargs)
368
369 email_recipients = aslist(email_recipients, sep=',') or \
370 [user.email for user in User.get_all_super_admins()]
371 run_task(send_email, email_recipients, subject,
372 email_body_plaintext, email_body)
373
350 374 except Exception:
351 375 pass
352 376
@@ -595,12 +595,13 b' class DbManage(object):'
595 595 # Visual
596 596 ('show_public_icon', True, 'bool'),
597 597 ('show_private_icon', True, 'bool'),
598 ('stylify_metatags', False, 'bool'),
598 ('stylify_metatags', True, 'bool'),
599 599 ('dashboard_items', 100, 'int'),
600 600 ('admin_grid_items', 25, 'int'),
601 601
602 602 ('markup_renderer', 'markdown', 'unicode'),
603 603
604 ('repository_fields', True, 'bool'),
604 605 ('show_version', True, 'bool'),
605 606 ('show_revision_number', True, 'bool'),
606 607 ('show_sha_length', 12, 'int'),
@@ -609,6 +610,7 b' class DbManage(object):'
609 610 ('gravatar_url', User.DEFAULT_GRAVATAR_URL, 'unicode'),
610 611
611 612 ('clone_uri_tmpl', Repository.DEFAULT_CLONE_URI, 'unicode'),
613 ('clone_uri_id_tmpl', Repository.DEFAULT_CLONE_URI_ID, 'unicode'),
612 614 ('clone_uri_ssh_tmpl', Repository.DEFAULT_CLONE_URI_SSH, 'unicode'),
613 615 ('support_url', '', 'unicode'),
614 616 ('update_url', RhodeCodeSetting.DEFAULT_UPDATE_URL, 'unicode'),
@@ -37,21 +37,29 b' class RequestWrapperTween(object):'
37 37
38 38 # one-time configuration code goes here
39 39
40 def _get_user_info(self, request):
41 user = get_current_rhodecode_user(request)
42 if not user:
43 user = AuthUser.repr_user(ip=get_ip_addr(request.environ))
44 return user
45
40 46 def __call__(self, request):
41 47 start = time.time()
42 48 log.debug('Starting request time measurement')
43 49 try:
44 50 response = self.handler(request)
45 51 finally:
46 end = time.time()
47 total = end - start
48 52 count = request.request_count()
49 53 _ver_ = rhodecode.__version__
50 default_user_info = AuthUser.repr_user(ip=get_ip_addr(request.environ))
51 user_info = get_current_rhodecode_user(request) or default_user_info
54 statsd = request.statsd
55 total = time.time() - start
56 if statsd:
57 statsd.timing('rhodecode.req.timing', total)
58 statsd.incr('rhodecode.req.count')
59
52 60 log.info(
53 61 'Req[%4s] %s %s Request to %s time: %.4fs [%s], RhodeCode %s',
54 count, user_info, request.environ.get('REQUEST_METHOD'),
62 count, self._get_user_info(request), request.environ.get('REQUEST_METHOD'),
55 63 safe_str(get_access_path(request.environ)), total,
56 64 get_user_agent(request. environ), _ver_
57 65 )
@@ -765,7 +765,14 b' class MercurialRepository(BaseRepository'
765 765
766 766 try:
767 767 if target_ref.type == 'branch' and len(self._heads(target_ref.name)) != 1:
768 heads = '\n,'.join(self._heads(target_ref.name))
768 heads_all = self._heads(target_ref.name)
769 max_heads = 10
770 if len(heads_all) > max_heads:
771 heads = '\n,'.join(
772 heads_all[:max_heads] +
773 ['and {} more.'.format(len(heads_all)-max_heads)])
774 else:
775 heads = '\n,'.join(heads_all)
769 776 metadata = {
770 777 'target_ref': target_ref,
771 778 'source_ref': source_ref,
@@ -854,7 +861,16 b' class MercurialRepository(BaseRepository'
854 861 except RepositoryError as e:
855 862 log.exception('Failure when doing local merge on hg shadow repo')
856 863 if isinstance(e, UnresolvedFilesInRepo):
857 metadata['unresolved_files'] = '\n* conflict: ' + ('\n * conflict: '.join(e.args[0]))
864 all_conflicts = list(e.args[0])
865 max_conflicts = 20
866 if len(all_conflicts) > max_conflicts:
867 conflicts = all_conflicts[:max_conflicts] \
868 + ['and {} more.'.format(len(all_conflicts)-max_conflicts)]
869 else:
870 conflicts = all_conflicts
871 metadata['unresolved_files'] = \
872 '\n* conflict: ' + \
873 ('\n * conflict: '.join(conflicts))
858 874
859 875 merge_possible = False
860 876 merge_failure_reason = MergeFailureReason.MERGE_FAILED
@@ -220,7 +220,7 b' def map_vcs_exceptions(func):'
220 220 if any(e.args):
221 221 _args = [a for a in e.args]
222 222 # replace the first argument with a prefix exc name
223 args = ['{}:'.format(exc_name, _args[0] if _args else '?')] + _args[1:]
223 args = ['{}:{}'.format(exc_name, _args[0] if _args else '?')] + _args[1:]
224 224 else:
225 225 args = [__traceback_info__ or '{}: UnhandledException'.format(exc_name)]
226 226 if debug or __traceback_info__ and kind not in ['unhandled', 'lookup']:
@@ -336,6 +336,7 b' class CommentsModel(BaseModel):'
336 336 comment.author = user
337 337 resolved_comment = self.__get_commit_comment(
338 338 validated_kwargs['resolves_comment_id'])
339
339 340 # check if the comment actually belongs to this PR
340 341 if resolved_comment and resolved_comment.pull_request and \
341 342 resolved_comment.pull_request != pull_request:
@@ -351,6 +352,10 b' class CommentsModel(BaseModel):'
351 352 # comment not bound to this repo, forbid
352 353 resolved_comment = None
353 354
355 if resolved_comment and resolved_comment.resolved_by:
356 # if this comment is already resolved, don't mark it again!
357 resolved_comment = None
358
354 359 comment.resolved_comment = resolved_comment
355 360
356 361 pull_request_id = pull_request
@@ -4220,6 +4220,12 b' class _PullRequestBase(BaseModel):'
4220 4220 return True
4221 4221 return False
4222 4222
4223 @property
4224 def title_safe(self):
4225 return self.title\
4226 .replace('{', '{{')\
4227 .replace('}', '}}')
4228
4223 4229 @hybrid_property
4224 4230 def description_safe(self):
4225 4231 from rhodecode.lib import helpers as h
@@ -390,6 +390,7 b' def ApplicationVisualisationForm(localiz'
390 390 rhodecode_markup_renderer = v.OneOf(['markdown', 'rst'])
391 391 rhodecode_gravatar_url = v.UnicodeString(min=3)
392 392 rhodecode_clone_uri_tmpl = v.UnicodeString(not_empty=False, if_empty=Repository.DEFAULT_CLONE_URI)
393 rhodecode_clone_uri_id_tmpl = v.UnicodeString(not_empty=False, if_empty=Repository.DEFAULT_CLONE_URI_ID)
393 394 rhodecode_clone_uri_ssh_tmpl = v.UnicodeString(not_empty=False, if_empty=Repository.DEFAULT_CLONE_URI_SSH)
394 395 rhodecode_support_url = v.UnicodeString()
395 396 rhodecode_show_revision_number = v.StringBoolean(if_missing=False)
@@ -343,6 +343,7 b' class EmailNotificationModel(BaseModel):'
343 343 TYPE_PASSWORD_RESET_CONFIRMATION = 'password_reset_confirmation'
344 344 TYPE_EMAIL_TEST = 'email_test'
345 345 TYPE_EMAIL_EXCEPTION = 'exception'
346 TYPE_UPDATE_AVAILABLE = 'update_available'
346 347 TYPE_TEST = 'test'
347 348
348 349 email_types = {
@@ -352,6 +353,8 b' class EmailNotificationModel(BaseModel):'
352 353 'rhodecode:templates/email_templates/test.mako',
353 354 TYPE_EMAIL_EXCEPTION:
354 355 'rhodecode:templates/email_templates/exception_tracker.mako',
356 TYPE_UPDATE_AVAILABLE:
357 'rhodecode:templates/email_templates/update_available.mako',
355 358 TYPE_EMAIL_TEST:
356 359 'rhodecode:templates/email_templates/email_test.mako',
357 360 TYPE_REGISTRATION:
@@ -60,11 +60,11 b' class UpdateModel(BaseModel):'
60 60 Session().add(setting)
61 61 Session().commit()
62 62
63 def get_stored_version(self):
63 def get_stored_version(self, fallback=None):
64 64 obj = SettingsModel().get_setting_by_name(self.UPDATE_SETTINGS_KEY)
65 65 if obj:
66 66 return obj.app_settings_value
67 return '0.0.0'
67 return fallback or '0.0.0'
68 68
69 69 def _sanitize_version(self, version):
70 70 """
@@ -25,6 +25,7 b' var firefoxAnchorFix = function() {'
25 25 }
26 26 };
27 27
28
28 29 var linkifyComments = function(comments) {
29 30 var firstCommentId = null;
30 31 if (comments) {
@@ -36,6 +37,7 b' var linkifyComments = function(comments)'
36 37 }
37 38 };
38 39
40
39 41 var bindToggleButtons = function() {
40 42 $('.comment-toggle').on('click', function() {
41 43 $(this).parent().nextUntil('tr.line').toggle('inline-comments');
@@ -43,7 +45,6 b' var bindToggleButtons = function() {'
43 45 };
44 46
45 47
46
47 48 var _submitAjaxPOST = function(url, postData, successHandler, failHandler) {
48 49 failHandler = failHandler || function() {};
49 50 postData = toQueryString(postData);
@@ -63,8 +64,6 b' var _submitAjaxPOST = function(url, post'
63 64 };
64 65
65 66
66
67
68 67 /* Comment form for main and inline comments */
69 68 (function(mod) {
70 69
@@ -239,8 +238,7 b' var _submitAjaxPOST = function(url, post'
239 238 };
240 239
241 240 this.markCommentResolved = function(resolvedCommentId){
242 $('#comment-label-{0}'.format(resolvedCommentId)).find('.resolved').show();
243 $('#comment-label-{0}'.format(resolvedCommentId)).find('.resolve').hide();
241 Rhodecode.comments.markCommentResolved(resolvedCommentId)
244 242 };
245 243
246 244 this.isAllowedToSubmit = function() {
@@ -1308,6 +1306,11 b' var CommentsController = function() {'
1308 1306 return $(tmpl);
1309 1307 }
1310 1308
1309 this.markCommentResolved = function(commentId) {
1310 $('#comment-label-{0}'.format(commentId)).find('.resolved').show();
1311 $('#comment-label-{0}'.format(commentId)).find('.resolve').hide();
1312 };
1313
1311 1314 this.createComment = function(node, f_path, line_no, resolutionComment) {
1312 1315 self.edit = false;
1313 1316 var $node = $(node);
@@ -1403,7 +1406,7 b' var CommentsController = function() {'
1403 1406
1404 1407 //mark visually which comment was resolved
1405 1408 if (resolvesCommentId) {
1406 commentForm.markCommentResolved(resolvesCommentId);
1409 self.markCommentResolved(resolvesCommentId);
1407 1410 }
1408 1411
1409 1412 // run global callback on submit
@@ -1462,7 +1465,6 b' var CommentsController = function() {'
1462 1465
1463 1466 var comment = $('#comment-'+commentId);
1464 1467 var commentData = comment.data();
1465 console.log(commentData);
1466 1468
1467 1469 if (commentData.commentInline) {
1468 1470 var f_path = commentData.commentFPath;
@@ -1494,9 +1496,144 b' var CommentsController = function() {'
1494 1496 return false;
1495 1497 };
1496 1498
1499 this.resolveTodo = function (elem, todoId) {
1500 var commentId = todoId;
1501
1502 SwalNoAnimation.fire({
1503 title: 'Resolve TODO {0}'.format(todoId),
1504 showCancelButton: true,
1505 confirmButtonText: _gettext('Yes'),
1506 showLoaderOnConfirm: true,
1507
1508 allowOutsideClick: function () {
1509 !Swal.isLoading()
1510 },
1511 preConfirm: function () {
1512 var comment = $('#comment-' + commentId);
1513 var commentData = comment.data();
1514
1515 var f_path = null
1516 var line_no = null
1517 if (commentData.commentInline) {
1518 f_path = commentData.commentFPath;
1519 line_no = commentData.commentLineNo;
1520 }
1521
1522 var renderer = templateContext.visual.default_renderer;
1523 var commentBoxUrl = '{1}#comment-{0}'.format(commentId);
1524
1525 // Pull request case
1526 if (templateContext.pull_request_data.pull_request_id !== null) {
1527 var commentUrl = pyroutes.url('pullrequest_comment_create',
1528 {
1529 'repo_name': templateContext.repo_name,
1530 'pull_request_id': templateContext.pull_request_data.pull_request_id,
1531 'comment_id': commentId
1532 });
1533 } else {
1534 var commentUrl = pyroutes.url('repo_commit_comment_create',
1535 {
1536 'repo_name': templateContext.repo_name,
1537 'commit_id': templateContext.commit_data.commit_id,
1538 'comment_id': commentId
1539 });
1540 }
1541
1542 if (renderer === 'rst') {
1543 commentBoxUrl = '`#{0} <{1}#comment-{0}>`_'.format(commentId, commentUrl);
1544 } else if (renderer === 'markdown') {
1545 commentBoxUrl = '[#{0}]({1}#comment-{0})'.format(commentId, commentUrl);
1546 }
1547 var resolveText = _gettext('TODO from comment {0} was fixed.').format(commentBoxUrl);
1548
1549 var postData = {
1550 text: resolveText,
1551 comment_type: 'note',
1552 draft: false,
1553 csrf_token: CSRF_TOKEN,
1554 resolves_comment_id: commentId
1555 }
1556 if (commentData.commentInline) {
1557 postData['f_path'] = f_path;
1558 postData['line'] = line_no;
1559 }
1560
1561 return new Promise(function (resolve, reject) {
1562 $.ajax({
1563 type: 'POST',
1564 data: postData,
1565 url: commentUrl,
1566 headers: {'X-PARTIAL-XHR': true}
1567 })
1568 .done(function (data) {
1569 resolve(data);
1570 })
1571 .fail(function (jqXHR, textStatus, errorThrown) {
1572 var prefix = "Error while resolving TODO.\n"
1573 var message = formatErrorMessage(jqXHR, textStatus, errorThrown, prefix);
1574 ajaxErrorSwal(message);
1575 });
1576 })
1577 }
1578
1579 })
1580 .then(function (result) {
1581 var success = function (json_data) {
1582 resolvesCommentId = commentId;
1583 var commentResolved = json_data[Object.keys(json_data)[0]]
1584
1585 try {
1586
1587 if (commentResolved.f_path) {
1588 // inject newly created comments, json_data is {<comment_id>: {}}
1589 self.attachInlineComment(json_data)
1590 } else {
1591 self.attachGeneralComment(json_data)
1592 }
1593
1594 //mark visually which comment was resolved
1595 if (resolvesCommentId) {
1596 self.markCommentResolved(resolvesCommentId);
1597 }
1598
1599 // run global callback on submit
1600 if (window.commentFormGlobalSubmitSuccessCallback !== undefined) {
1601 commentFormGlobalSubmitSuccessCallback({
1602 draft: false,
1603 comment_id: commentId
1604 });
1605 }
1606
1607 } catch (e) {
1608 console.error(e);
1609 }
1610
1611 if (window.updateSticky !== undefined) {
1612 // potentially our comments change the active window size, so we
1613 // notify sticky elements
1614 updateSticky()
1615 }
1616
1617 if (window.refreshAllComments !== undefined) {
1618 // if we have this handler, run it, and refresh all comments boxes
1619 refreshAllComments()
1620 }
1621 // re trigger the linkification of next/prev navigation
1622 linkifyComments($('.inline-comment-injected'));
1623 timeagoActivate();
1624 tooltipActivate();
1625 };
1626
1627 if (result.value) {
1628 $(elem).remove();
1629 success(result.value)
1630 }
1631 })
1632 };
1633
1497 1634 };
1498 1635
1499 1636 window.commentHelp = function(renderer) {
1500 1637 var funcData = {'renderer': renderer}
1501 1638 return renderTemplate('commentHelpHovercard', funcData)
1502 } No newline at end of file
1639 }
@@ -174,6 +174,9 b''
174 174 ${h.text('rhodecode_clone_uri_tmpl', size=60)} HTTP[S]
175 175 </div>
176 176 <div class="field">
177 ${h.text('rhodecode_clone_uri_id_tmpl', size=60)} HTTP UID
178 </div>
179 <div class="field">
177 180 ${h.text('rhodecode_clone_uri_ssh_tmpl', size=60)} SSH
178 181 </div>
179 182 <div class="field">
@@ -236,6 +236,14 b' if (show_disabled) {'
236 236 Created:
237 237 <time class="timeago" title="<%= created_on %>" datetime="<%= datetime %>"><%= $.timeago(datetime) %></time>
238 238
239 <% if (is_todo) { %>
240 <div style="text-align: center; padding-top: 5px">
241 <a class="btn btn-sm" href="#resolveTodo<%- comment_id -%>" onclick="Rhodecode.comments.resolveTodo(this, '<%- comment_id -%>'); return false">
242 <strong>Resolve TODO</strong>
243 </a>
244 </div>
245 <% } %>
246
239 247 </div>
240 248
241 249 </script>
@@ -14,7 +14,7 b' data = {'
14 14 'comment_type': comment_type,
15 15 'comment_id': comment_id,
16 16
17 'pr_title': pull_request.title,
17 'pr_title': pull_request.title_safe,
18 18 'pr_id': pull_request.pull_request_id,
19 19 'mention_prefix': '[mention] ' if mention else '',
20 20 }
@@ -31,7 +31,6 b' else:'
31 31 _('{mention_prefix}{user} left a {comment_type} on pull request !{pr_id}: "{pr_title}"').format(**data)
32 32 %>
33 33
34
35 34 ${subject_template.format(**data) |n}
36 35 </%def>
37 36
@@ -47,7 +46,7 b' data = {'
47 46 'comment_type': comment_type,
48 47 'comment_id': comment_id,
49 48
50 'pr_title': pull_request.title,
49 'pr_title': pull_request.title_safe,
51 50 'pr_id': pull_request.pull_request_id,
52 51 'source_ref_type': pull_request.source_ref_parts.type,
53 52 'source_ref_name': pull_request.source_ref_parts.name,
@@ -99,7 +98,7 b' data = {'
99 98 'comment_id': comment_id,
100 99 'renderer_type': renderer_type or 'plain',
101 100
102 'pr_title': pull_request.title,
101 'pr_title': pull_request.title_safe,
103 102 'pr_id': pull_request.pull_request_id,
104 103 'status': status_change,
105 104 'source_ref_type': pull_request.source_ref_parts.type,
@@ -8,7 +8,7 b''
8 8 data = {
9 9 'user': '@'+h.person(user),
10 10 'pr_id': pull_request.pull_request_id,
11 'pr_title': pull_request.title,
11 'pr_title': pull_request.title_safe,
12 12 }
13 13
14 14 if user_role == 'observer':
@@ -26,7 +26,7 b' else:'
26 26 data = {
27 27 'user': h.person(user),
28 28 'pr_id': pull_request.pull_request_id,
29 'pr_title': pull_request.title,
29 'pr_title': pull_request.title_safe,
30 30 'source_ref_type': pull_request.source_ref_parts.type,
31 31 'source_ref_name': pull_request.source_ref_parts.name,
32 32 'target_ref_type': pull_request.target_ref_parts.type,
@@ -66,7 +66,7 b' data = {'
66 66 data = {
67 67 'user': h.person(user),
68 68 'pr_id': pull_request.pull_request_id,
69 'pr_title': pull_request.title,
69 'pr_title': pull_request.title_safe,
70 70 'source_ref_type': pull_request.source_ref_parts.type,
71 71 'source_ref_name': pull_request.source_ref_parts.name,
72 72 'target_ref_type': pull_request.target_ref_parts.type,
@@ -8,7 +8,7 b''
8 8 data = {
9 9 'updating_user': '@'+h.person(updating_user),
10 10 'pr_id': pull_request.pull_request_id,
11 'pr_title': pull_request.title,
11 'pr_title': pull_request.title_safe,
12 12 }
13 13
14 14 subject_template = email_pr_update_subject_template or _('{updating_user} updated pull request. !{pr_id}: "{pr_title}"')
@@ -23,7 +23,7 b' subject_template = email_pr_update_subje'
23 23 data = {
24 24 'updating_user': h.person(updating_user),
25 25 'pr_id': pull_request.pull_request_id,
26 'pr_title': pull_request.title,
26 'pr_title': pull_request.title_safe,
27 27 'source_ref_type': pull_request.source_ref_parts.type,
28 28 'source_ref_name': pull_request.source_ref_parts.name,
29 29 'target_ref_type': pull_request.target_ref_parts.type,
@@ -74,7 +74,7 b' data = {'
74 74 data = {
75 75 'updating_user': h.person(updating_user),
76 76 'pr_id': pull_request.pull_request_id,
77 'pr_title': pull_request.title,
77 'pr_title': pull_request.title_safe,
78 78 'source_ref_type': pull_request.source_ref_parts.type,
79 79 'source_ref_name': pull_request.source_ref_parts.name,
80 80 'target_ref_type': pull_request.target_ref_parts.type,
@@ -27,6 +27,16 b' from rhodecode.model.db import User, Pul'
27 27 from rhodecode.model.notification import EmailNotificationModel
28 28
29 29
30 @pytest.fixture()
31 def pr():
32 def factory(ref):
33 return collections.namedtuple(
34 'PullRequest',
35 'pull_request_id, title, title_safe, description, source_ref_parts, source_ref_name, target_ref_parts, target_ref_name')\
36 (200, 'Example Pull Request', 'Example Pull Request', 'Desc of PR', ref, 'bookmark', ref, 'Branch')
37 return factory
38
39
30 40 def test_get_template_obj(app, request_stub):
31 41 template = EmailNotificationModel().get_renderer(
32 42 EmailNotificationModel.TYPE_TEST, request_stub)
@@ -53,14 +63,10 b' def test_render_email(app, http_host_onl'
53 63
54 64
55 65 @pytest.mark.parametrize('role', PullRequestReviewers.ROLES)
56 def test_render_pr_email(app, user_admin, role):
66 def test_render_pr_email(app, user_admin, role, pr):
57 67 ref = collections.namedtuple(
58 68 'Ref', 'name, type')('fxies123', 'book')
59
60 pr = collections.namedtuple('PullRequest',
61 'pull_request_id, title, description, source_ref_parts, source_ref_name, target_ref_parts, target_ref_name')(
62 200, 'Example Pull Request', 'Desc of PR', ref, 'bookmark', ref, 'Branch')
63
69 pr = pr(ref)
64 70 source_repo = target_repo = collections.namedtuple(
65 71 'Repo', 'type, repo_name')('hg', 'pull_request_1')
66 72
@@ -89,13 +95,11 b' def test_render_pr_email(app, user_admin'
89 95 assert subject == '@test_admin (RhodeCode Admin) added you as observer to pull request. !200: "Example Pull Request"'
90 96
91 97
92 def test_render_pr_update_email(app, user_admin):
98 def test_render_pr_update_email(app, user_admin, pr):
93 99 ref = collections.namedtuple(
94 100 'Ref', 'name, type')('fxies123', 'book')
95 101
96 pr = collections.namedtuple('PullRequest',
97 'pull_request_id, title, description, source_ref_parts, source_ref_name, target_ref_parts, target_ref_name')(
98 200, 'Example Pull Request', 'Desc of PR', ref, 'bookmark', ref, 'Branch')
102 pr = pr(ref)
99 103
100 104 source_repo = target_repo = collections.namedtuple(
101 105 'Repo', 'type, repo_name')('hg', 'pull_request_1')
@@ -150,13 +154,11 b' def test_render_pr_update_email(app, use'
150 154 EmailNotificationModel.TYPE_COMMIT_COMMENT,
151 155 EmailNotificationModel.TYPE_PULL_REQUEST_COMMENT
152 156 ])
153 def test_render_comment_subject_no_newlines(app, mention, email_type):
157 def test_render_comment_subject_no_newlines(app, mention, email_type, pr):
154 158 ref = collections.namedtuple(
155 159 'Ref', 'name, type')('fxies123', 'book')
156 160
157 pr = collections.namedtuple('PullRequest',
158 'pull_request_id, title, description, source_ref_parts, source_ref_name, target_ref_parts, target_ref_name')(
159 200, 'Example Pull Request', 'Desc of PR', ref, 'bookmark', ref, 'Branch')
161 pr = pr(ref)
160 162
161 163 source_repo = target_repo = collections.namedtuple(
162 164 'Repo', 'type, repo_name')('hg', 'pull_request_1')
General Comments 0
You need to be logged in to leave comments. Login now