release: merge back stable branch into default
marcink -
r4469:9d632087 merge tip default
Not Reviewed
Show More
Add another comment
TODOs: 0 unresolved 0 Resolved
COMMENTS: 0 General 0 Inline
@@ -0,0 +1,42
1 |RCE| 4.20.1 |RNS|
2 ------------------
3
4 Release Date
5 ^^^^^^^^^^^^
6
7 - 2020-07-27
8
9
10 New Features
11 ^^^^^^^^^^^^
12
13
14
15 General
16 ^^^^^^^
17
18 - Permissions: rename write+ to write or higher for more explicit meaning.
19
20
21 Security
22 ^^^^^^^^
23
24
25
26 Performance
27 ^^^^^^^^^^^
28
29
30
31 Fixes
32 ^^^^^
33
34 - Files: fixed creation of new files for empty repos.
35 - Notifications: properly inject the custom email headers into templates.
36 - Store file integration: fixed support for nested subdirs.
37
38
39 Upgrade notes
40 ^^^^^^^^^^^^^
41
42 - Un-scheduled release addressing problems in 4.20.X releases.
@@ -66,3 +66,5 ddef396a6567117de531d67d44c739cbbfc3eebb
66 c0c65acd73914bf4368222d510afe1161ab8c07c v4.19.1
66 c0c65acd73914bf4368222d510afe1161ab8c07c v4.19.1
67 7ac623a4a2405917e2af660d645ded662011e40d v4.19.2
67 7ac623a4a2405917e2af660d645ded662011e40d v4.19.2
68 ef7ffda65eeb90c3ba88590a6cb816ef9b0bc232 v4.19.3
68 ef7ffda65eeb90c3ba88590a6cb816ef9b0bc232 v4.19.3
69 3e635489bb7961df93b01e42454ad1a8730ae968 v4.20.0
70 7e2eb896a02ca7cd2cd9f0f853ef3dac3f0039e3 v4.20.1
@@ -9,6 +9,7 Release Notes
9 .. toctree::
9 .. toctree::
10 :maxdepth: 1
10 :maxdepth: 1
11
11
12 release-notes-4.20.1.rst
12 release-notes-4.20.0.rst
13 release-notes-4.20.0.rst
13 release-notes-4.19.3.rst
14 release-notes-4.19.3.rst
14 release-notes-4.19.2.rst
15 release-notes-4.19.2.rst
@@ -211,7 +211,7 class RepoFilesView(RepoAppView):
211
211
212 return file_node
212 return file_node
213
213
214 def _is_valid_head(self, commit_id, repo):
214 def _is_valid_head(self, commit_id, repo, landing_ref):
215 branch_name = sha_commit_id = ''
215 branch_name = sha_commit_id = ''
216 is_head = False
216 is_head = False
217 log.debug('Checking if commit_id `%s` is a head for %s.', commit_id, repo)
217 log.debug('Checking if commit_id `%s` is a head for %s.', commit_id, repo)
@@ -237,7 +237,11 class RepoFilesView(RepoAppView):
237 return branch_name, sha_commit_id, is_head
237 return branch_name, sha_commit_id, is_head
238
238
239 # checked branches, means we only need to try to get the branch/commit_sha
239 # checked branches, means we only need to try to get the branch/commit_sha
240 if not repo.is_empty():
240 if repo.is_empty():
241 is_head = True
242 branch_name = landing_ref
243 sha_commit_id = EmptyCommit().raw_id
244 else:
241 commit = repo.get_commit(commit_id=commit_id)
245 commit = repo.get_commit(commit_id=commit_id)
242 if commit:
246 if commit:
243 branch_name = commit.branch
247 branch_name = commit.branch
@@ -696,8 +700,9 class RepoFilesView(RepoAppView):
696 if not c.renderer:
700 if not c.renderer:
697 c.lines = filenode_as_lines_tokens(c.file)
701 c.lines = filenode_as_lines_tokens(c.file)
698
702
699 _branch_name, _sha_commit_id, is_head = self._is_valid_head(
703 _branch_name, _sha_commit_id, is_head = \
700 commit_id, self.rhodecode_vcs_repo)
704 self._is_valid_head(commit_id, self.rhodecode_vcs_repo,
705 landing_ref=self.db_repo.landing_ref_name)
701 c.on_branch_head = is_head
706 c.on_branch_head = is_head
702
707
703 branch = c.commit.branch if (
708 branch = c.commit.branch if (
@@ -1135,7 +1140,8 class RepoFilesView(RepoAppView):
1135
1140
1136 commit_id, f_path = self._get_commit_and_path()
1141 commit_id, f_path = self._get_commit_and_path()
1137 _branch_name, _sha_commit_id, is_head = \
1142 _branch_name, _sha_commit_id, is_head = \
1138 self._is_valid_head(commit_id, self.rhodecode_vcs_repo)
1143 self._is_valid_head(commit_id, self.rhodecode_vcs_repo,
1144 landing_ref=self.db_repo.landing_ref_name)
1139
1145
1140 new_path = self.request.POST.get('path')
1146 new_path = self.request.POST.get('path')
1141 operation = self.request.POST.get('operation')
1147 operation = self.request.POST.get('operation')
@@ -1173,7 +1179,8 class RepoFilesView(RepoAppView):
1173
1179
1174 self._ensure_not_locked()
1180 self._ensure_not_locked()
1175 _branch_name, _sha_commit_id, is_head = \
1181 _branch_name, _sha_commit_id, is_head = \
1176 self._is_valid_head(commit_id, self.rhodecode_vcs_repo)
1182 self._is_valid_head(commit_id, self.rhodecode_vcs_repo,
1183 landing_ref=self.db_repo.landing_ref_name)
1177
1184
1178 self.forbid_non_head(is_head, f_path)
1185 self.forbid_non_head(is_head, f_path)
1179 self.check_branch_permission(_branch_name)
1186 self.check_branch_permission(_branch_name)
@@ -1201,7 +1208,8 class RepoFilesView(RepoAppView):
1201
1208
1202 self._ensure_not_locked()
1209 self._ensure_not_locked()
1203 _branch_name, _sha_commit_id, is_head = \
1210 _branch_name, _sha_commit_id, is_head = \
1204 self._is_valid_head(commit_id, self.rhodecode_vcs_repo)
1211 self._is_valid_head(commit_id, self.rhodecode_vcs_repo,
1212 landing_ref=self.db_repo.landing_ref_name)
1205
1213
1206 self.forbid_non_head(is_head, f_path)
1214 self.forbid_non_head(is_head, f_path)
1207 self.check_branch_permission(_branch_name)
1215 self.check_branch_permission(_branch_name)
@@ -1251,7 +1259,8 class RepoFilesView(RepoAppView):
1251
1259
1252 self._ensure_not_locked()
1260 self._ensure_not_locked()
1253 _branch_name, _sha_commit_id, is_head = \
1261 _branch_name, _sha_commit_id, is_head = \
1254 self._is_valid_head(commit_id, self.rhodecode_vcs_repo)
1262 self._is_valid_head(commit_id, self.rhodecode_vcs_repo,
1263 landing_ref=self.db_repo.landing_ref_name)
1255
1264
1256 self.forbid_non_head(is_head, f_path, commit_id=commit_id)
1265 self.forbid_non_head(is_head, f_path, commit_id=commit_id)
1257 self.check_branch_permission(_branch_name, commit_id=commit_id)
1266 self.check_branch_permission(_branch_name, commit_id=commit_id)
@@ -1292,7 +1301,8 class RepoFilesView(RepoAppView):
1292 commit_id=c.commit.raw_id, f_path=f_path))
1301 commit_id=c.commit.raw_id, f_path=f_path))
1293
1302
1294 _branch_name, _sha_commit_id, is_head = \
1303 _branch_name, _sha_commit_id, is_head = \
1295 self._is_valid_head(commit_id, self.rhodecode_vcs_repo)
1304 self._is_valid_head(commit_id, self.rhodecode_vcs_repo,
1305 landing_ref=self.db_repo.landing_ref_name)
1296
1306
1297 self.forbid_non_head(is_head, f_path, commit_id=commit_id)
1307 self.forbid_non_head(is_head, f_path, commit_id=commit_id)
1298 self.check_branch_permission(_branch_name, commit_id=commit_id)
1308 self.check_branch_permission(_branch_name, commit_id=commit_id)
@@ -1380,7 +1390,8 class RepoFilesView(RepoAppView):
1380 _branch_name, _sha_commit_id, is_head = c.commit.branch, '', True
1390 _branch_name, _sha_commit_id, is_head = c.commit.branch, '', True
1381 else:
1391 else:
1382 _branch_name, _sha_commit_id, is_head = \
1392 _branch_name, _sha_commit_id, is_head = \
1383 self._is_valid_head(commit_id, self.rhodecode_vcs_repo)
1393 self._is_valid_head(commit_id, self.rhodecode_vcs_repo,
1394 landing_ref=self.db_repo.landing_ref_name)
1384
1395
1385 self.forbid_non_head(is_head, f_path, commit_id=commit_id)
1396 self.forbid_non_head(is_head, f_path, commit_id=commit_id)
1386 self.check_branch_permission(_branch_name, commit_id=commit_id)
1397 self.check_branch_permission(_branch_name, commit_id=commit_id)
@@ -1421,7 +1432,8 class RepoFilesView(RepoAppView):
1421 _branch_name, _sha_commit_id, is_head = c.commit.branch, '', True
1432 _branch_name, _sha_commit_id, is_head = c.commit.branch, '', True
1422 else:
1433 else:
1423 _branch_name, _sha_commit_id, is_head = \
1434 _branch_name, _sha_commit_id, is_head = \
1424 self._is_valid_head(commit_id, self.rhodecode_vcs_repo)
1435 self._is_valid_head(commit_id, self.rhodecode_vcs_repo,
1436 landing_ref=self.db_repo.landing_ref_name)
1425
1437
1426 self.forbid_non_head(is_head, f_path, commit_id=commit_id)
1438 self.forbid_non_head(is_head, f_path, commit_id=commit_id)
1427 self.check_branch_permission(_branch_name, commit_id=commit_id)
1439 self.check_branch_permission(_branch_name, commit_id=commit_id)
@@ -1517,7 +1529,8 class RepoFilesView(RepoAppView):
1517 _branch_name, _sha_commit_id, is_head = c.commit.branch, '', True
1529 _branch_name, _sha_commit_id, is_head = c.commit.branch, '', True
1518 else:
1530 else:
1519 _branch_name, _sha_commit_id, is_head = \
1531 _branch_name, _sha_commit_id, is_head = \
1520 self._is_valid_head(commit_id, self.rhodecode_vcs_repo)
1532 self._is_valid_head(commit_id, self.rhodecode_vcs_repo,
1533 landing_ref=self.db_repo.landing_ref_name)
1521
1534
1522 error = self.forbid_non_head(is_head, f_path, json_mode=True)
1535 error = self.forbid_non_head(is_head, f_path, json_mode=True)
1523 if error:
1536 if error:
@@ -54,7 +54,7 class RepoSettingsPermissionsView(RepoAp
54 c = self.load_default_context()
54 c = self.load_default_context()
55 c.active = 'permissions'
55 c.active = 'permissions'
56 if self.request.GET.get('branch_permissions'):
56 if self.request.GET.get('branch_permissions'):
57 h.flash(_('Explicitly add user or user group with write+ '
57 h.flash(_('Explicitly add user or user group with write or higher '
58 'permission to modify their branch permissions.'),
58 'permission to modify their branch permissions.'),
59 category='notice')
59 category='notice')
60 return self._get_template_context(c)
60 return self._get_template_context(c)
@@ -604,68 +604,74 class RepoPullRequestsView(RepoAppView,
604 if not force_recache and has_proper_diff_cache:
604 if not force_recache and has_proper_diff_cache:
605 c.diffset = cached_diff['diff']
605 c.diffset = cached_diff['diff']
606 else:
606 else:
607 c.diffset = self._get_diffset(
607 try:
608 c.source_repo.repo_name, commits_source_repo,
608 c.diffset = self._get_diffset(
609 c.ancestor_commit,
609 c.source_repo.repo_name, commits_source_repo,
610 source_ref_id, target_ref_id,
610 c.ancestor_commit,
611 target_commit, source_commit,
611 source_ref_id, target_ref_id,
612 diff_limit, file_limit, c.fulldiff,
612 target_commit, source_commit,
613 hide_whitespace_changes, diff_context,
613 diff_limit, file_limit, c.fulldiff,
614 use_ancestor=use_ancestor
614 hide_whitespace_changes, diff_context,
615 )
615 use_ancestor=use_ancestor
616
616 )
617 # save cached diff
618 if caching_enabled:
619 cache_diff(cache_file_path, c.diffset, diff_commit_cache)
620
621 c.limited_diff = c.diffset.limited_diff
622
623 # calculate removed files that are bound to comments
624 comment_deleted_files = [
625 fname for fname in display_inline_comments
626 if fname not in c.diffset.file_stats]
627
628 c.deleted_files_comments = collections.defaultdict(dict)
629 for fname, per_line_comments in display_inline_comments.items():
630 if fname in comment_deleted_files:
631 c.deleted_files_comments[fname]['stats'] = 0
632 c.deleted_files_comments[fname]['comments'] = list()
633 for lno, comments in per_line_comments.items():
634 c.deleted_files_comments[fname]['comments'].extend(comments)
635
636 # maybe calculate the range diff
637 if c.range_diff_on:
638 # TODO(marcink): set whitespace/context
639 context_lcl = 3
640 ign_whitespace_lcl = False
641
642 for commit in c.commit_ranges:
643 commit2 = commit
644 commit1 = commit.first_parent
645
646 range_diff_cache_file_path = diff_cache_exist(
647 cache_path, 'diff', commit.raw_id,
648 ign_whitespace_lcl, context_lcl, c.fulldiff)
649
650 cached_diff = None
651 if caching_enabled:
652 cached_diff = load_cached_diff(range_diff_cache_file_path)
653
654 has_proper_diff_cache = cached_diff and cached_diff.get('diff')
655 if not force_recache and has_proper_diff_cache:
656 diffset = cached_diff['diff']
657 else:
658 diffset = self._get_range_diffset(
659 commits_source_repo, source_repo,
660 commit1, commit2, diff_limit, file_limit,
661 c.fulldiff, ign_whitespace_lcl, context_lcl
662 )
663
617
664 # save cached diff
618 # save cached diff
665 if caching_enabled:
619 if caching_enabled:
666 cache_diff(range_diff_cache_file_path, diffset, None)
620 cache_diff(cache_file_path, c.diffset, diff_commit_cache)
621 except CommitDoesNotExistError:
622 log.exception('Failed to generate diffset')
623 c.missing_commits = True
624
625 if not c.missing_commits:
626
627 c.limited_diff = c.diffset.limited_diff
628
629 # calculate removed files that are bound to comments
630 comment_deleted_files = [
631 fname for fname in display_inline_comments
632 if fname not in c.diffset.file_stats]
633
634 c.deleted_files_comments = collections.defaultdict(dict)
635 for fname, per_line_comments in display_inline_comments.items():
636 if fname in comment_deleted_files:
637 c.deleted_files_comments[fname]['stats'] = 0
638 c.deleted_files_comments[fname]['comments'] = list()
639 for lno, comments in per_line_comments.items():
640 c.deleted_files_comments[fname]['comments'].extend(comments)
641
642 # maybe calculate the range diff
643 if c.range_diff_on:
644 # TODO(marcink): set whitespace/context
645 context_lcl = 3
646 ign_whitespace_lcl = False
667
647
668 c.changes[commit.raw_id] = diffset
648 for commit in c.commit_ranges:
649 commit2 = commit
650 commit1 = commit.first_parent
651
652 range_diff_cache_file_path = diff_cache_exist(
653 cache_path, 'diff', commit.raw_id,
654 ign_whitespace_lcl, context_lcl, c.fulldiff)
655
656 cached_diff = None
657 if caching_enabled:
658 cached_diff = load_cached_diff(range_diff_cache_file_path)
659
660 has_proper_diff_cache = cached_diff and cached_diff.get('diff')
661 if not force_recache and has_proper_diff_cache:
662 diffset = cached_diff['diff']
663 else:
664 diffset = self._get_range_diffset(
665 commits_source_repo, source_repo,
666 commit1, commit2, diff_limit, file_limit,
667 c.fulldiff, ign_whitespace_lcl, context_lcl
668 )
669
670 # save cached diff
671 if caching_enabled:
672 cache_diff(range_diff_cache_file_path, diffset, None)
673
674 c.changes[commit.raw_id] = diffset
669
675
670 # this is a hack to properly display links, when creating PR, the
676 # this is a hack to properly display links, when creating PR, the
671 # compare view and others uses different notation, and
677 # compare view and others uses different notation, and
@@ -83,7 +83,7 class VcsServer(object):
83 else:
83 else:
84 if permission in self.write_perms:
84 if permission in self.write_perms:
85 log.info(
85 log.info(
86 'WRITE+ Permissions for User "%s" detected to repo "%s"!',
86 'WRITE, or Higher Permissions for User "%s" detected to repo "%s"!',
87 self.user, self.repo_name)
87 self.user, self.repo_name)
88 return 0
88 return 0
89
89
This diff has been collapsed as it changes many lines, (2485 lines changed) Show them Hide them
@@ -6,9 +6,9
6 #, fuzzy
6 #, fuzzy
7 msgid ""
7 msgid ""
8 msgstr ""
8 msgstr ""
9 "Project-Id-Version: rhodecode-enterprise-ce 4.19.0\n"
9 "Project-Id-Version: rhodecode-enterprise-ce 4.20.0\n"
10 "Report-Msgid-Bugs-To: marcin@rhodecode.com\n"
10 "Report-Msgid-Bugs-To: marcin@rhodecode.com\n"
11 "POT-Creation-Date: 2020-05-22 09:45+0000\n"
11 "POT-Creation-Date: 2020-07-20 11:46+0000\n"
12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -56,16 +56,19 msgstr ""
56 #: rhodecode/templates/admin/integrations/list.mako:172
56 #: rhodecode/templates/admin/integrations/list.mako:172
57 #: rhodecode/templates/admin/my_account/my_account_profile.mako:7
57 #: rhodecode/templates/admin/my_account/my_account_profile.mako:7
58 #: rhodecode/templates/base/issue_tracker_settings.mako:137
58 #: rhodecode/templates/base/issue_tracker_settings.mako:137
59 #: rhodecode/templates/changeset/changeset_file_comment.mako:201
60 #: rhodecode/templates/changeset/changeset_file_comment.mako:205
61 #: rhodecode/templates/changeset/changeset_file_comment.mako:209
59 #: rhodecode/templates/data_table/_dt_elements.mako:173
62 #: rhodecode/templates/data_table/_dt_elements.mako:173
60 #: rhodecode/templates/data_table/_dt_elements.mako:251
63 #: rhodecode/templates/data_table/_dt_elements.mako:251
61 #: rhodecode/templates/data_table/_dt_elements.mako:266
64 #: rhodecode/templates/data_table/_dt_elements.mako:266
62 #: rhodecode/templates/data_table/_dt_elements.mako:267
65 #: rhodecode/templates/data_table/_dt_elements.mako:267
63 #: rhodecode/templates/data_table/_dt_elements.mako:282
66 #: rhodecode/templates/data_table/_dt_elements.mako:282
64 #: rhodecode/templates/debug_style/buttons.html:128
67 #: rhodecode/templates/debug_style/buttons.html:128
65 #: rhodecode/templates/files/files_add.mako:56
68 #: rhodecode/templates/files/files_add.mako:55
66 #: rhodecode/templates/files/files_edit.mako:58
69 #: rhodecode/templates/files/files_edit.mako:57
67 #: rhodecode/templates/files/files_source.mako:29
70 #: rhodecode/templates/files/files_source.mako:39
68 #: rhodecode/templates/files/files_source.mako:42
71 #: rhodecode/templates/files/files_source.mako:52
69 #: rhodecode/templates/pullrequests/pullrequest_show.mako:74
72 #: rhodecode/templates/pullrequests/pullrequest_show.mako:74
70 #: rhodecode/templates/pullrequests/pullrequest_show.mako:302
73 #: rhodecode/templates/pullrequests/pullrequest_show.mako:302
71 #: rhodecode/templates/user_group/profile.mako:8
74 #: rhodecode/templates/user_group/profile.mako:8
@@ -81,12 +84,12 msgstr ""
81 msgid "SSH key support is disabled in .ini file"
84 msgid "SSH key support is disabled in .ini file"
82 msgstr ""
85 msgstr ""
83
86
84 #: rhodecode/apps/admin/views/repo_groups.py:328
87 #: rhodecode/apps/admin/views/repo_groups.py:342
85 #, python-format
88 #, python-format
86 msgid "Created repository group %s"
89 msgid "Created repository group %s"
87 msgstr ""
90 msgstr ""
88
91
89 #: rhodecode/apps/admin/views/repo_groups.py:346
92 #: rhodecode/apps/admin/views/repo_groups.py:360
90 #, python-format
93 #, python-format
91 msgid "Error occurred during creation of repository group %s"
94 msgid "Error occurred during creation of repository group %s"
92 msgstr ""
95 msgstr ""
@@ -99,81 +102,81 msgstr ""
99 msgid "Failed to cleanup up old sessions"
102 msgid "Failed to cleanup up old sessions"
100 msgstr ""
103 msgstr ""
101
104
102 #: rhodecode/apps/admin/views/settings.py:162
105 #: rhodecode/apps/admin/views/settings.py:163
103 #: rhodecode/apps/admin/views/settings.py:317
106 #: rhodecode/apps/admin/views/settings.py:319
104 #: rhodecode/apps/admin/views/settings.py:392
107 #: rhodecode/apps/admin/views/settings.py:394
105 #: rhodecode/apps/admin/views/settings.py:726
108 #: rhodecode/apps/admin/views/settings.py:727
106 #: rhodecode/apps/repository/views/repo_settings_vcs.py:124
109 #: rhodecode/apps/repository/views/repo_settings_vcs.py:124
107 msgid "Some form inputs contain invalid data."
110 msgid "Some form inputs contain invalid data."
108 msgstr ""
111 msgstr ""
109
112
110 #: rhodecode/apps/admin/views/settings.py:189
113 #: rhodecode/apps/admin/views/settings.py:190
111 #: rhodecode/apps/admin/views/settings.py:353
114 #: rhodecode/apps/admin/views/settings.py:355
112 msgid "Error occurred during updating application settings"
115 msgid "Error occurred during updating application settings"
113 msgstr ""
116 msgstr ""
114
117
115 #: rhodecode/apps/admin/views/settings.py:193
118 #: rhodecode/apps/admin/views/settings.py:194
116 #: rhodecode/apps/repository/views/repo_settings_vcs.py:143
119 #: rhodecode/apps/repository/views/repo_settings_vcs.py:143
117 msgid "Updated VCS settings"
120 msgid "Updated VCS settings"
118 msgstr ""
121 msgstr ""
119
122
120 #: rhodecode/apps/admin/views/settings.py:267
123 #: rhodecode/apps/admin/views/settings.py:269
121 #, python-format
124 #, python-format
122 msgid "Repositories successfully rescanned added: %s ; removed: %s"
125 msgid "Repositories successfully rescanned added: %s ; removed: %s"
123 msgstr ""
126 msgstr ""
124
127
125 #: rhodecode/apps/admin/views/settings.py:349
128 #: rhodecode/apps/admin/views/settings.py:351
126 msgid "Updated application settings"
129 msgid "Updated application settings"
127 msgstr ""
130 msgstr ""
128
131
129 #: rhodecode/apps/admin/views/settings.py:431
132 #: rhodecode/apps/admin/views/settings.py:433
130 msgid "Updated visualisation settings"
133 msgid "Updated visualisation settings"
131 msgstr ""
134 msgstr ""
132
135
133 #: rhodecode/apps/admin/views/settings.py:434
136 #: rhodecode/apps/admin/views/settings.py:436
134 msgid "Error occurred during updating visualisation settings"
137 msgid "Error occurred during updating visualisation settings"
135 msgstr ""
138 msgstr ""
136
139
137 #: rhodecode/apps/admin/views/settings.py:496
140 #: rhodecode/apps/admin/views/settings.py:498
138 #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:127
141 #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:127
139 msgid "Invalid issue tracker pattern: {}"
142 msgid "Invalid issue tracker pattern: {}"
140 msgstr ""
143 msgstr ""
141
144
142 #: rhodecode/apps/admin/views/settings.py:513
145 #: rhodecode/apps/admin/views/settings.py:515
143 #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:136
146 #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:136
144 msgid "Updated issue tracker entries"
147 msgid "Updated issue tracker entries"
145 msgstr ""
148 msgstr ""
146
149
147 #: rhodecode/apps/admin/views/settings.py:533
150 #: rhodecode/apps/admin/views/settings.py:535
148 #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:91
151 #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:91
149 msgid "Removed issue tracker entry."
152 msgid "Removed issue tracker entry."
150 msgstr ""
153 msgstr ""
151
154
152 #: rhodecode/apps/admin/views/settings.py:571
155 #: rhodecode/apps/admin/views/settings.py:573
153 msgid "Please enter email address"
156 msgid "Please enter email address"
154 msgstr ""
157 msgstr ""
155
158
156 #: rhodecode/apps/admin/views/settings.py:588
159 #: rhodecode/apps/admin/views/settings.py:589
157 msgid "Send email task created"
160 msgid "Send email task created"
158 msgstr ""
161 msgstr ""
159
162
160 #: rhodecode/apps/admin/views/settings.py:638
163 #: rhodecode/apps/admin/views/settings.py:639
161 msgid "Added new hook"
164 msgid "Added new hook"
162 msgstr ""
165 msgstr ""
163
166
164 #: rhodecode/apps/admin/views/settings.py:653
167 #: rhodecode/apps/admin/views/settings.py:654
165 msgid "Updated hooks"
168 msgid "Updated hooks"
166 msgstr ""
169 msgstr ""
167
170
168 #: rhodecode/apps/admin/views/settings.py:657
171 #: rhodecode/apps/admin/views/settings.py:658
169 msgid "Error occurred during hook creation"
172 msgid "Error occurred during hook creation"
170 msgstr ""
173 msgstr ""
171
174
172 #: rhodecode/apps/admin/views/settings.py:750
175 #: rhodecode/apps/admin/views/settings.py:751
173 msgid "Error occurred during updating labs settings"
176 msgid "Error occurred during updating labs settings"
174 msgstr ""
177 msgstr ""
175
178
176 #: rhodecode/apps/admin/views/settings.py:755
179 #: rhodecode/apps/admin/views/settings.py:756
177 msgid "Updated Labs settings"
180 msgid "Updated Labs settings"
178 msgstr ""
181 msgstr ""
179
182
@@ -488,8 +491,8 msgstr ""
488
491
489 #: rhodecode/apps/admin/views/users.py:834
492 #: rhodecode/apps/admin/views/users.py:834
490 #: rhodecode/apps/my_account/views/my_account.py:161
493 #: rhodecode/apps/my_account/views/my_account.py:161
491 #: rhodecode/templates/admin/my_account/my_account_auth_tokens.mako:22
494 #: rhodecode/templates/admin/my_account/my_account_auth_tokens.mako:28
492 #: rhodecode/templates/admin/users/user_edit_auth_tokens.mako:27
495 #: rhodecode/templates/admin/users/user_edit_auth_tokens.mako:33
493 msgid "Role"
496 msgid "Role"
494 msgstr ""
497 msgstr ""
495
498
@@ -583,9 +586,9 msgstr ""
583 msgid "1 month"
586 msgid "1 month"
584 msgstr ""
587 msgstr ""
585
588
586 #: rhodecode/apps/gist/views.py:64 rhodecode/public/js/scripts.js:46848
589 #: rhodecode/apps/gist/views.py:64 rhodecode/public/js/scripts.js:47676
587 #: rhodecode/public/js/scripts.min.js:1
590 #: rhodecode/public/js/scripts.min.js:1
588 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:35
591 #: rhodecode/public/js/rhodecode/i18n/js_translations.js:42
589 #: rhodecode/public/js/src/rhodecode.js:625
592 #: rhodecode/public/js/src/rhodecode.js:625
590 msgid "Lifetime"
593 msgid "Lifetime"
591 msgstr ""
594 msgstr ""
@@ -609,8 +612,8 msgstr ""
609
612
610 #: rhodecode/apps/gist/views.py:330
613 #: rhodecode/apps/gist/views.py:330
611 #: rhodecode/templates/admin/gists/gist_show.mako:76
614 #: rhodecode/templates/admin/gists/gist_show.mako:76
612 #: rhodecode/templates/admin/my_account/my_account_auth_tokens.mako:44
615 #: rhodecode/templates/admin/my_account/my_account_auth_tokens.mako:50
613 #: rhodecode/templates/admin/users/user_edit_auth_tokens.mako:49
616 #: rhodecode/templates/admin/users/user_edit_auth_tokens.mako:55
614 #: rhodecode/templates/data_table/_dt_elements.mako:341
617 #: rhodecode/templates/data_table/_dt_elements.mako:341
615 msgid "never"
618 msgid "never"
616 msgstr ""
619 msgstr ""
@@ -638,14 +641,14 msgid "Error occurred during update of g
638 msgstr ""
641 msgstr ""
639
642
640 #: rhodecode/apps/home/views.py:452
643 #: rhodecode/apps/home/views.py:452
641 #: rhodecode/apps/repository/views/repo_pull_requests.py:914
644 #: rhodecode/apps/repository/views/repo_pull_requests.py:930
642 #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:209
645 #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:219
643 #: rhodecode/templates/admin/repos/repo_add.mako:15
646 #: rhodecode/templates/admin/repos/repo_add.mako:15
644 #: rhodecode/templates/admin/repos/repo_add.mako:19
647 #: rhodecode/templates/admin/repos/repo_add.mako:19
645 #: rhodecode/templates/admin/users/user_edit_advanced.mako:12
648 #: rhodecode/templates/admin/users/user_edit_advanced.mako:12
646 #: rhodecode/templates/base/base.mako:107
649 #: rhodecode/templates/base/base.mako:112
647 #: rhodecode/templates/base/base.mako:126
650 #: rhodecode/templates/base/base.mako:131
648 #: rhodecode/templates/base/base.mako:1172
651 #: rhodecode/templates/base/base.mako:1192
649 msgid "Repositories"
652 msgid "Repositories"
650 msgstr ""
653 msgstr ""
651
654
@@ -653,7 +656,7 msgstr ""
653 #: rhodecode/templates/admin/integrations/form.mako:17
656 #: rhodecode/templates/admin/integrations/form.mako:17
654 #: rhodecode/templates/admin/integrations/list.mako:10
657 #: rhodecode/templates/admin/integrations/list.mako:10
655 #: rhodecode/templates/admin/permissions/permissions_objects.mako:31
658 #: rhodecode/templates/admin/permissions/permissions_objects.mako:31
656 #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:208
659 #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:218
657 msgid "Repository Groups"
660 msgid "Repository Groups"
658 msgstr ""
661 msgstr ""
659
662
@@ -776,12 +779,11 msgstr ""
776
779
777 #: rhodecode/apps/repository/views/repo_changelog.py:66
780 #: rhodecode/apps/repository/views/repo_changelog.py:66
778 #: rhodecode/apps/repository/views/repo_compare.py:64
781 #: rhodecode/apps/repository/views/repo_compare.py:64
779 #: rhodecode/apps/repository/views/repo_pull_requests.py:763
782 #: rhodecode/apps/repository/views/repo_pull_requests.py:779
780 msgid "There are no commits yet"
783 msgid "There are no commits yet"
781 msgstr ""
784 msgstr ""
782
785
783 #: rhodecode/apps/repository/views/repo_changelog.py:71
786 #: rhodecode/apps/repository/views/repo_changelog.py:71
784 #: rhodecode/apps/repository/views/repo_files.py:185
785 #: rhodecode/apps/repository/views/repo_files.py:205
787 #: rhodecode/apps/repository/views/repo_files.py:205
786 msgid "No such commit exists for this repository"
788 msgid "No such commit exists for this repository"
787 msgstr ""
789 msgstr ""
@@ -801,17 +803,17 msgstr ""
801 msgid "Created repository %s"
803 msgid "Created repository %s"
802 msgstr ""
804 msgstr ""
803
805
804 #: rhodecode/apps/repository/views/repo_commits.py:111
806 #: rhodecode/apps/repository/views/repo_commits.py:112
805 msgid "No such commit exists. Org exception: `{}`"
807 msgid "No such commit exists. Org exception: `{}`"
806 msgstr ""
808 msgstr ""
807
809
808 #: rhodecode/apps/repository/views/repo_commits.py:330
810 #: rhodecode/apps/repository/views/repo_commits.py:331
809 #: rhodecode/apps/repository/views/repo_pull_requests.py:1399
811 #: rhodecode/apps/repository/views/repo_pull_requests.py:1415
810 #, python-format
812 #, python-format
811 msgid "Status change %(transition_icon)s %(status)s"
813 msgid "Status change %(transition_icon)s %(status)s"
812 msgstr ""
814 msgstr ""
813
815
814 #: rhodecode/apps/repository/views/repo_commits.py:375
816 #: rhodecode/apps/repository/views/repo_commits.py:376
815 msgid "Changing the status of a commit associated with a closed pull request is not allowed"
817 msgid "Changing the status of a commit associated with a closed pull request is not allowed"
816 msgstr ""
818 msgstr ""
817
819
@@ -872,6 +874,10 msgstr ""
872 msgid "There are no files yet. %s"
874 msgid "There are no files yet. %s"
873 msgstr ""
875 msgstr ""
874
876
877 #: rhodecode/apps/repository/views/repo_files.py:185
878 msgid "No such commit exists for this repository. Commit: {}"
879 msgstr ""
880
875 #: rhodecode/apps/repository/views/repo_files.py:341
881 #: rhodecode/apps/repository/views/repo_files.py:341
876 msgid "Downloads disabled"
882 msgid "Downloads disabled"
877 msgstr ""
883 msgstr ""
@@ -896,11 +902,11 msgstr ""
896 msgid "Unknown archive type"
902 msgid "Unknown archive type"
897 msgstr ""
903 msgstr ""
898
904
899 #: rhodecode/apps/repository/views/repo_files.py:990
905 #: rhodecode/apps/repository/views/repo_files.py:1005
900 msgid "Changesets"
906 msgid "Changesets"
901 msgstr ""
907 msgstr ""
902
908
903 #: rhodecode/apps/repository/views/repo_files.py:1011
909 #: rhodecode/apps/repository/views/repo_files.py:1026
904 #: rhodecode/apps/repository/views/repo_summary.py:264
910 #: rhodecode/apps/repository/views/repo_summary.py:264
905 #: rhodecode/model/pull_request.py:1740 rhodecode/model/scm.py:995
911 #: rhodecode/model/pull_request.py:1740 rhodecode/model/scm.py:995
906 #: rhodecode/templates/base/vcs_settings.mako:235
912 #: rhodecode/templates/base/vcs_settings.mako:235
@@ -908,68 +914,68 msgstr ""
908 msgid "Branches"
914 msgid "Branches"
909 msgstr ""
915 msgstr ""
910
916
911 #: rhodecode/apps/repository/views/repo_files.py:1015
917 #: rhodecode/apps/repository/views/repo_files.py:1030
912 #: rhodecode/model/scm.py:1012 rhodecode/templates/base/vcs_settings.mako:260
918 #: rhodecode/model/scm.py:1012 rhodecode/templates/base/vcs_settings.mako:260
913 #: rhodecode/templates/summary/components.mako:34
919 #: rhodecode/templates/summary/components.mako:34
914 msgid "Tags"
920 msgid "Tags"
915 msgstr ""
921 msgstr ""
916
922
917 #: rhodecode/apps/repository/views/repo_files.py:1169
923 #: rhodecode/apps/repository/views/repo_files.py:1184
918 #: rhodecode/apps/repository/views/repo_files.py:1197
924 #: rhodecode/apps/repository/views/repo_files.py:1212
919 msgid "Deleted file {} via RhodeCode Enterprise"
925 msgid "Deleted file {} via RhodeCode Enterprise"
920 msgstr ""
926 msgstr ""
921
927
922 #: rhodecode/apps/repository/views/repo_files.py:1218
928 #: rhodecode/apps/repository/views/repo_files.py:1233
923 msgid "Successfully deleted file `{}`"
929 msgid "Successfully deleted file `{}`"
924 msgstr ""
930 msgstr ""
925
931
926 #: rhodecode/apps/repository/views/repo_files.py:1222
932 #: rhodecode/apps/repository/views/repo_files.py:1237
927 #: rhodecode/apps/repository/views/repo_files.py:1339
933 #: rhodecode/apps/repository/views/repo_files.py:1354
928 #: rhodecode/apps/repository/views/repo_files.py:1470
934 #: rhodecode/apps/repository/views/repo_files.py:1485
929 #: rhodecode/apps/repository/views/repo_files.py:1593
935 #: rhodecode/apps/repository/views/repo_files.py:1608
930 msgid "Error occurred during commit"
936 msgid "Error occurred during commit"
931 msgstr ""
937 msgstr ""
932
938
933 #: rhodecode/apps/repository/views/repo_files.py:1254
939 #: rhodecode/apps/repository/views/repo_files.py:1269
934 #: rhodecode/apps/repository/views/repo_files.py:1285
940 #: rhodecode/apps/repository/views/repo_files.py:1300
935 msgid "Edited file {} via RhodeCode Enterprise"
941 msgid "Edited file {} via RhodeCode Enterprise"
936 msgstr ""
942 msgstr ""
937
943
938 #: rhodecode/apps/repository/views/repo_files.py:1308
944 #: rhodecode/apps/repository/views/repo_files.py:1323
939 msgid "No changes detected on {}"
945 msgid "No changes detected on {}"
940 msgstr ""
946 msgstr ""
941
947
942 #: rhodecode/apps/repository/views/repo_files.py:1332
948 #: rhodecode/apps/repository/views/repo_files.py:1347
943 msgid "Successfully committed changes to file `{}`"
949 msgid "Successfully committed changes to file `{}`"
944 msgstr ""
950 msgstr ""
945
951
946 #: rhodecode/apps/repository/views/repo_files.py:1373
952 #: rhodecode/apps/repository/views/repo_files.py:1388
947 #: rhodecode/apps/repository/views/repo_files.py:1414
953 #: rhodecode/apps/repository/views/repo_files.py:1429
948 msgid "Added file via RhodeCode Enterprise"
954 msgid "Added file via RhodeCode Enterprise"
949 msgstr ""
955 msgstr ""
950
956
951 #: rhodecode/apps/repository/views/repo_files.py:1430
957 #: rhodecode/apps/repository/views/repo_files.py:1445
952 msgid "No filename specified"
958 msgid "No filename specified"
953 msgstr ""
959 msgstr ""
954
960
955 #: rhodecode/apps/repository/views/repo_files.py:1455
961 #: rhodecode/apps/repository/views/repo_files.py:1470
956 msgid "Successfully committed new file `{}`"
962