RhodeCode - issues: Issueshttps://issues.rhodecode.com/https://issues.rhodecode.com/favicon.ico?16960560042023-10-17T16:32:54ZRhodeCode - issues
Redmine RhodeCode CE/EE - Bug #5698 (Resolved): 5.0.0 release - documentation 4.X -> 5.X migration step-b...https://issues.rhodecode.com/issues/56982023-10-17T16:32:54ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>In order to smoothen the transition from 4.X release we need to write a guide how to move to 5.X series.</p>
RhodeCode CE/EE - Bug #5605 (Resolved): Cannot set subversion compatibility to 1.10https://issues.rhodecode.com/issues/56052020-03-27T19:59:01ZLuke Mauldin
<p>Rhodecode 4.18.2 ships with Subversion 1.12 but in the rhodecode.ini file I cannot set <code>vcs.svn.compatible_version</code> to create a 1.10 compatible repository. I can create a 1.10 compatible repository manually using svnadmin and move it into the rhodecode repository directory and do a <code>remap</code>. In this scenario, Rhodcode recognizes the 1.10 compatible repository and all operations work as expected. However, Rhodecode should support creation of 1.10 compatible repositories. </p>
RhodeCode CE/EE - Bug #5587 (Resolved): Broken metatags in 4.18.1https://issues.rhodecode.com/issues/55872020-01-28T08:52:28ZBoris Basic
<p>I just upgraded from 4.17.4 to 4.18.1 and some repository description metatags don't work anymore.<br>
At least it seems to be the case for all metatags using <code>=></code>, like <code>[lang=></code>] or, <code>[requires=>]</code>.<br>
The others appear to work correctly.</p>
RhodeCode CE/EE - Bug #5502 (Resolved): 500 error when using multiple custom branch permissionshttps://issues.rhodecode.com/issues/55022018-10-25T00:57:14ZFrank Ecsedy
<p>We created 4 branch patterns with priorities 10, 20, 30 and 40. I created a new group that has force push permissions on those branches. When I add a user to the new group and try to view their permissions it is either wrong (no extra permissions show) or it throws a 500. Here is the exception log:</p>
<p>Traceback (most recent call last):<br>
File "/opt/rhodecode/store/mxgf7jxv7p2nw91a4y9c89y8jia712g5-python2.7-pyramid-1.9.2/lib/python2.7/site-packages/pyramid/tweens.py", line 39, in excview_tween<br>
response = handler(request)<br>
File "/opt/rhodecode/store/mxgf7jxv7p2nw91a4y9c89y8jia712g5-python2.7-pyramid-1.9.2/lib/python2.7/site-packages/pyramid/router.py", line 156, in handle_request<br>
view_name<br>
File "/opt/rhodecode/store/mxgf7jxv7p2nw91a4y9c89y8jia712g5-python2.7-pyramid-1.9.2/lib/python2.7/site-packages/pyramid/view.py", line 642, in <u>call_view<br>
response = view_callable(context, request)<br>
File "/opt/rhodecode/store/mxgf7jxv7p2nw91a4y9c89y8jia712g5-python2.7-pyramid-1.9.2/lib/python2.7/site-packages/pyramid/viewderivers.py", line 390, in attr_view<br>
return view(context, request)<br>
File "/opt/rhodecode/store/mxgf7jxv7p2nw91a4y9c89y8jia712g5-python2.7-pyramid-1.9.2/lib/python2.7/site-packages/pyramid/viewderivers.py", line 368, in predicate_wrapper<br>
return view(context, request)<br>
File "/opt/rhodecode/store/mxgf7jxv7p2nw91a4y9c89y8jia712g5-python2.7-pyramid-1.9.2/lib/python2.7/site-packages/pyramid/viewderivers.py", line 462, in rendered_view<br>
request, result, view_inst, context)<br>
File "/opt/rhodecode/store/mxgf7jxv7p2nw91a4y9c89y8jia712g5-python2.7-pyramid-1.9.2/lib/python2.7/site-packages/pyramid/renderers.py", line 435, in render_view<br>
return self.render_to_response(response, system, request=request)<br>
File "/opt/rhodecode/store/mxgf7jxv7p2nw91a4y9c89y8jia712g5-python2.7-pyramid-1.9.2/lib/python2.7/site-packages/pyramid/renderers.py", line 458, in render_to_response<br>
result = self.render(value, system_values, request=request)<br>
File "/opt/rhodecode/store/mxgf7jxv7p2nw91a4y9c89y8jia712g5-python2.7-pyramid-1.9.2/lib/python2.7/site-packages/pyramid/renderers.py", line 454, in render<br>
result = renderer(value, system_values)<br>
File "/opt/rhodecode/store/86qd4x71plpan4xz807ng3g09hcc2l3p-python2.7-pyramid-mako-1.0.2/lib/python2.7/site-packages/pyramid_mako/</u><u>init</u><u>.py", line 156, in __call</u>_<br>
reraise(MakoRenderingException(errtext), None, exc_info[2])<br>
File "/opt/rhodecode/store/86qd4x71plpan4xz807ng3g09hcc2l3p-python2.7-pyramid-mako-1.0.2/lib/python2.7/site-packages/pyramid_mako/<strong>init</strong>.py", line 148, in <strong>call</strong><br>
result = template.render_unicode(*<em>system)<br>
File "/opt/rhodecode/store/ida848f1ziml06glki8mawhi38h2k4fv-python2.7-mako-1.0.7/lib/python2.7/site-packages/mako/template.py", line 471, in render_unicode<br>
as_unicode=True)<br>
File "/opt/rhodecode/store/ida848f1ziml06glki8mawhi38h2k4fv-python2.7-mako-1.0.7/lib/python2.7/site-packages/mako/runtime.py", line 838, in _render<br>
*</em><u>kwargs_for_callable(callable</u>, data))<br>
File "/opt/rhodecode/store/ida848f1ziml06glki8mawhi38h2k4fv-python2.7-mako-1.0.7/lib/python2.7/site-packages/mako/runtime.py", line 873, in <u>render_context<br>
_exec_template(inherit, lclcontext, args=args, kwargs=kwargs)<br>
File "/opt/rhodecode/store/ida848f1ziml06glki8mawhi38h2k4fv-python2.7-mako-1.0.7/lib/python2.7/site-packages/mako/runtime.py", line 899, in _exec_template<br>
callable</u>(context, *args, **kwargs)<br>
File "<u>base_root_mako", line 99, in render_body<br>
File "_base_base_mako", line 54, in render_body<br>
File "rhodecode_templates_admin_users_user_edit_mako", line 133, in render_main<br>
File "/opt/rhodecode/store/ida848f1ziml06glki8mawhi38h2k4fv-python2.7-mako-1.0.7/lib/python2.7/site-packages/mako/runtime.py", line 761, in _include_file<br>
callable</u>(ctx, **kwargs)<br>
File "<u>admin_users_user_edit_perms_summary_mako", line 35, in render_body<br>
File "/opt/rhodecode/store/rq6n4kdw9z8d44km9njnr5rxxyh01p4h-python2.7-zope.cachedescriptors-4.3.1/lib/python2.7/site-packages/zope/cachedescriptors/property.py", line 106, in __get</u>_<br>
value = func(inst)<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 1076, in permissions_full_details<br>
user=self, cache=None, calculate_super_admin=True)<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 1211, in get_perms<br>
calculate_super_admin)<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/rc_cache/utils.py", line 79, in decorate<br>
return self.get_or_create(key, creator, timeout, should_cache_fn)<br>
File "/opt/rhodecode/store/v33y23yxrp8sa4l232vf4i5nmwnclili-python2.7-dogpile.cache-0.6.6/lib/python2.7/site-packages/dogpile/cache/region.py", line 864, in get_or_create<br>
async_creator) as value:<br>
File "/opt/rhodecode/store/v33y23yxrp8sa4l232vf4i5nmwnclili-python2.7-dogpile.cache-0.6.6/lib/python2.7/site-packages/dogpile/lock.py", line 186, in <strong>enter</strong><br>
return self._enter()<br>
File "/opt/rhodecode/store/v33y23yxrp8sa4l232vf4i5nmwnclili-python2.7-dogpile.cache-0.6.6/lib/python2.7/site-packages/dogpile/lock.py", line 93, in _enter<br>
generated = self._enter_create(value, createdtime)<br>
File "/opt/rhodecode/store/v33y23yxrp8sa4l232vf4i5nmwnclili-python2.7-dogpile.cache-0.6.6/lib/python2.7/site-packages/dogpile/lock.py", line 179, in _enter_create<br>
return self.creator()<br>
File "/opt/rhodecode/store/v33y23yxrp8sa4l232vf4i5nmwnclili-python2.7-dogpile.cache-0.6.6/lib/python2.7/site-packages/dogpile/cache/region.py", line 831, in gen_value<br>
created_value = creator()<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/rc_cache/utils.py", line 71, in creator<br>
return fn(*arg, **kw)<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 1205, in compute_perm_tree<br>
explicit, algo, calculate_super_admin)<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 320, in _cached_perms_data<br>
return permissions.calculate()<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 450, in calculate<br>
self._calculate_repository_branch_permissions()<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 789, in _calculate_repository_branch_permissions<br>
p = self._choose_permission(p, cur_perm)<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 942, in _choose_permission<br>
cur_perm_val = Permission.PERM_WEIGHTS[cur_perm]<br>
MakoRenderingException: </p>
<p>Traceback (most recent call last):<br>
File "/opt/rhodecode/store/86qd4x71plpan4xz807ng3g09hcc2l3p-python2.7-pyramid-mako-1.0.2/lib/python2.7/site-packages/pyramid_mako/<strong>init</strong>.py", line 148, in <strong>call</strong><br>
result = template.render_unicode(*<em>system)<br>
File "/opt/rhodecode/store/ida848f1ziml06glki8mawhi38h2k4fv-python2.7-mako-1.0.7/lib/python2.7/site-packages/mako/template.py", line 471, in render_unicode<br>
as_unicode=True)<br>
File "/opt/rhodecode/store/ida848f1ziml06glki8mawhi38h2k4fv-python2.7-mako-1.0.7/lib/python2.7/site-packages/mako/runtime.py", line 838, in _render<br>
*</em><u>kwargs_for_callable(callable</u>, data))<br>
File "/opt/rhodecode/store/ida848f1ziml06glki8mawhi38h2k4fv-python2.7-mako-1.0.7/lib/python2.7/site-packages/mako/runtime.py", line 873, in <u>render_context<br>
_exec_template(inherit, lclcontext, args=args, kwargs=kwargs)<br>
File "/opt/rhodecode/store/ida848f1ziml06glki8mawhi38h2k4fv-python2.7-mako-1.0.7/lib/python2.7/site-packages/mako/runtime.py", line 899, in _exec_template<br>
callable</u>(context, *args, **kwargs)<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/templates/base/root.mako", line 156, in render_body<br>
${next.body()}<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/templates/base/base.mako", line 32, in render_body<br>
${next.main()}<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/templates/admin/users/user_edit.mako", line 53, in render_main<br>
<%include file="/admin/users/user_edit_${c.active}.mako"/><br>
File "/opt/rhodecode/store/ida848f1ziml06glki8mawhi38h2k4fv-python2.7-mako-1.0.7/lib/python2.7/site-packages/mako/runtime.py", line 761, in <u>include_file<br>
callable</u>(ctx, **kwargs)<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/templates/admin/users/user_edit_perms_summary.mako", line 3, in render_body<br>
${p.perms_summary(c.perm_user.permissions_full_details, show_all=True, side_link=h.route_path('edit_user_perms_summary_json', user_id=c.user.user_id))}<br>
File "/opt/rhodecode/store/rq6n4kdw9z8d44km9njnr5rxxyh01p4h-python2.7-zope.cachedescriptors-4.3.1/lib/python2.7/site-packages/zope/cachedescriptors/property.py", line 106, in <strong>get</strong><br>
value = func(inst)<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 1076, in permissions_full_details<br>
user=self, cache=None, calculate_super_admin=True)<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 1211, in get_perms<br>
calculate_super_admin)<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/rc_cache/utils.py", line 79, in decorate<br>
return self.get_or_create(key, creator, timeout, should_cache_fn)<br>
File "/opt/rhodecode/store/v33y23yxrp8sa4l232vf4i5nmwnclili-python2.7-dogpile.cache-0.6.6/lib/python2.7/site-packages/dogpile/cache/region.py", line 864, in get_or_create<br>
async_creator) as value:<br>
File "/opt/rhodecode/store/v33y23yxrp8sa4l232vf4i5nmwnclili-python2.7-dogpile.cache-0.6.6/lib/python2.7/site-packages/dogpile/lock.py", line 186, in <strong>enter</strong><br>
return self._enter()<br>
File "/opt/rhodecode/store/v33y23yxrp8sa4l232vf4i5nmwnclili-python2.7-dogpile.cache-0.6.6/lib/python2.7/site-packages/dogpile/lock.py", line 93, in _enter<br>
generated = self._enter_create(value, createdtime)<br>
File "/opt/rhodecode/store/v33y23yxrp8sa4l232vf4i5nmwnclili-python2.7-dogpile.cache-0.6.6/lib/python2.7/site-packages/dogpile/lock.py", line 179, in _enter_create<br>
return self.creator()<br>
File "/opt/rhodecode/store/v33y23yxrp8sa4l232vf4i5nmwnclili-python2.7-dogpile.cache-0.6.6/lib/python2.7/site-packages/dogpile/cache/region.py", line 831, in gen_value<br>
created_value = creator()<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/rc_cache/utils.py", line 71, in creator<br>
return fn(*arg, **kw)<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 1205, in compute_perm_tree<br>
explicit, algo, calculate_super_admin)<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 320, in _cached_perms_data<br>
return permissions.calculate()<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 450, in calculate<br>
self._calculate_repository_branch_permissions()<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 789, in _calculate_repository_branch_permissions<br>
p = self._choose_permission(p, cur_perm)<br>
File "/opt/rhodecode/store/rn12s997k08lbfzg074fca3x206ng6si-python2.7-rhodecode-enterprise-ce-4.13.3/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 942, in _choose_permission<br>
cur_perm_val = Permission.PERM_WEIGHTS[cur_perm]<br>
TypeError: unhashable type: 'OrderedDict'</p>
RhodeCode CE/EE - Bug #4278 (Resolved): [admin] Clicking the save button in admin -> settings -> ...https://issues.rhodecode.com/issues/42782016-10-14T12:08:32ZMartin Bornholdmartin@rhodecode.com
<a name="Description"></a>
<h1 >Description<a href="#Description" class="wiki-anchor">¶</a></h1>
<p>If i click the save buttton on the issue tracker settings page without having any pattern added and no pattern already in the list it leads to an exception.<br>
If i add a pattern or if there is at least one pattern already present it works fine.</p>
<a name="Steps-to-reproduce"></a>
<h1 >Steps to reproduce<a href="#Steps-to-reproduce" class="wiki-anchor">¶</a></h1>
<ol>
<li>Open the page <a href="http://localhost:5000/_admin/settings/issue-tracker" class="external">http://localhost:5000/_admin/settings/issue-tracker</a> (adapt to your host)</li>
<li>Make sure that no pattern is in the list and don't add one.</li>
<li>Click the save button</li>
<li>Exception happens</li>
</ol>
<a name="Traceback"></a>
<h1 >Traceback<a href="#Traceback" class="wiki-anchor">¶</a></h1>
<p>2016-10-14 12:01:34.209 ERROR [rhodecode.lib.middleware.error_handling] 'NoneType' object has no attribute '<strong>getitem</strong>'<br>
Traceback (most recent call last):<br>
File "/Users/mb/work/ce/rhodecode/lib/middleware/error_handling.py", line 72, in handle_request<br>
response = request.get_response(self.app)<br>
File "/nix/store/5z86vjf0azxh3qjsg5dnv5j6xbl0scgm-python2.7-WebOb-1.3.1/lib/python2.7/site-packages/webob/request.py", line 1320, in send<br>
application, catch_exc_info=False)<br>
File "/nix/store/5z86vjf0azxh3qjsg5dnv5j6xbl0scgm-python2.7-WebOb-1.3.1/lib/python2.7/site-packages/webob/request.py", line 1284, in call_application<br>
app_iter = application(self.environ, start_response)<br>
File "/nix/store/nsdj1vmp0ir7hbgwb7sjb27cr8d8kplv-python2.7-Paste-2.0.2/lib/python2.7/site-packages/paste/registry.py", line 379, in <strong>call</strong><br>
app_iter = self.application(environ, start_response)<br>
File "/nix/store/bzzl9k49f51l3vjjl9fs1q116alpjxhp-python2.7-Pylons-1.0.1-patch1/lib/python2.7/site-packages/pylons/wsgiapp.py", line 103, in <strong>call</strong><br>
response = self.dispatch(controller, environ, start_response)<br>
File "/nix/store/bzzl9k49f51l3vjjl9fs1q116alpjxhp-python2.7-Pylons-1.0.1-patch1/lib/python2.7/site-packages/pylons/wsgiapp.py", line 313, in dispatch<br>
return controller(environ, start_response)<br>
File "/Users/mb/work/ce/rhodecode/lib/base.py", line 502, in <strong>call</strong><br>
return WSGIController.<strong>call</strong>(self, environ, start_response)<br>
File "/nix/store/bzzl9k49f51l3vjjl9fs1q116alpjxhp-python2.7-Pylons-1.0.1-patch1/lib/python2.7/site-packages/pylons/controllers/core.py", line 214, in <strong>call</strong><br>
response = self.<u>dispatch_call()<br>
File "/nix/store/bzzl9k49f51l3vjjl9fs1q116alpjxhp-python2.7-Pylons-1.0.1-patch1/lib/python2.7/site-packages/pylons/controllers/core.py", line 164, in _dispatch_call<br>
response = self._inspect_call(func)<br>
File "/nix/store/bzzl9k49f51l3vjjl9fs1q116alpjxhp-python2.7-Pylons-1.0.1-patch1/lib/python2.7/site-packages/pylons/controllers/core.py", line 107, in _inspect_call<br>
result = self._perform_call(func, args)<br>
File "/nix/store/bzzl9k49f51l3vjjl9fs1q116alpjxhp-python2.7-Pylons-1.0.1-patch1/lib/python2.7/site-packages/pylons/controllers/core.py", line 57, in _perform_call<br>
return func(**args)<br>
File "/Users/mb/work/ce/rhodecode/lib/auth.py", line 1901, in local_wrapper<br>
return wrapper(func, *args, **kwds)<br>
File "/Users/mb/work/ce/rhodecode/lib/auth.py", line 1334, in __wrapper<br>
return func(*fargs, **fkwargs)<br>
File "/Users/mb/work/ce/rhodecode/lib/auth.py", line 1901, in local_wrapper<br>
return wrapper(func, *args, **kwds)<br>
File "/Users/mb/work/ce/rhodecode/lib/auth.py", line 1143, in __wrapper<br>
return func(*fargs, **fkwargs)<br>
File "/Users/mb/work/ce/rhodecode/controllers/admin/settings.py", line 400, in settings_issuetracker_save<br>
for uid in form['delete_patterns']:<br>
TypeError: 'NoneType' object has no attribute '</u><u>getitem</u>_'</p>
RhodeCode CE/EE - Bug #4274 (Resolved): 500 error when push big objectshttps://issues.rhodecode.com/issues/42742016-10-13T04:43:35Zfeng mu
<p>Counting objects: 123894, done.<br>
Delta compression using up to 8 threads.<br>
Compressing objects: 100% (49118/49118), done.<br>
Writing objects: 100% (123894/123894), 168.71 MiB | 3.52 MiB/s, done.<br>
Total 123894 (delta 66189), reused 123776 (delta 66106)<br>
error: RPC failed; result=22, HTTP code = 500<br>
fatal: The remote end hung up unexpectedly<br>
fatal: The remote end hung up unexpectedly<br>
Everything up-to-date</p>
RhodeCode CE/EE - Bug #4271 (Resolved): Browsing new repository groups via SVN issuehttps://issues.rhodecode.com/issues/42712016-10-10T23:08:39ZBert Zahniser
<p>When creating a new repository group and a new repository under that group, it is not available via an SVN connection until the apache2 service is reloaded/restarted. The group creation successfully updates the apache configuration file as outlined here: <a href="https://docs.rhodecode.com/RhodeCode-Enterprise/release-notes/release-notes-4.3.0.html?highlight=svn" class="external">https://docs.rhodecode.com/RhodeCode-Enterprise/release-notes/release-notes-4.3.0.html?highlight=svn</a>, but apache2 does not load the updated file until a reload/restart is issued. Can the server also reload the apache2 configuration when this file is changed?</p>
RhodeCode CE/EE - Task #4251 (Feedback): [customer] Pull request with subreposhttps://issues.rhodecode.com/issues/42512016-09-29T13:41:00ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>While a lot of time passed since we’ve exchanged emails last time, let me share some details about the way we work at R and what kind of Rhodecode improvements would be useful for us. </p>
<ul>
<li>Most of our iOS/Mac product repositories are Mercurial </li>
<li>We extensively use Mercurial’s subrepositories for internal dependencies: our internal libraries are Mercurial or git repositories, which are added to product repository as a subrepo. </li>
<li>I like github flow: creating feature branches (bookmarks in Mercurial), opening pull request to master (default), code-reviewing this pull request and merging it after review is finished</li>
</ul>
<p>Unfortunately Rhodecode does not allow to create pull request for Mercurial repository in case it contains any subrepo, even if there were no changes in that sub-repositories. </p>
<p>So that’s the main reason why we can’t use github flow with Rhodecode and that’s the reason why we have to Crucible. </p>
<p>I’ve shared these details with team about a year ago : <a href="https://rhodecode.tenderapp.com/help/discussions/support-tickets/1234-unable-to-create-pull-request" class="external">https://rhodecode.tenderapp.com/help/discussions/support-tickets/1234-unable-to-create-pull-request</a></p>
<p>Currently Rhodecode is more like a repository storage for us and while post-commit reviews are possible they are rarely used. That’s why most people at R almost never see Rhodecode web interface. </p>
<p>Let me know if you need any more details or have any workaround that would still allow us to use pull requests. </p>
RhodeCode CE/EE - Bug #4250 (Resolved): Adding a reviewer into existing PR doesn't set a reason.https://issues.rhodecode.com/issues/42502016-09-29T12:00:43ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>I think it's usefull to know who was "added" after the PR was created. I think a text of <br>
'reviewer added by {user_string}" could be usefull. Currently when you add a reviewer it has a blank reason.</p>
RhodeCode CE/EE - Bug #4173 (Resolved): [ce, ee] mysql recycle pool timeout not workinghttps://issues.rhodecode.com/issues/41732016-08-12T16:41:27ZDaniel Ddaniel@rhodecode.com
<p>Replication:</p>
<ul>
<li>new config using mysql database</li>
<li>set mysql's wait_timeout to 6</li>
<li><code>threads = 1</code> in ini</li>
<li><code>sqlalchemy.db1.pool_recycle = 3</code> in ini</li>
<li>git push a repo (no changes need, just a push)</li>
<li>wait 7 seconds</li>
<li>git push again</li>
<li>get - <code>OperationalError: (OperationalError) (2006, 'MySQL server has gone away)</code></li>
</ul>
<p>This will also break subsequent requests with <code>StatementError: Can't reconnect until invalid transaction is rolled back</code></p>
RhodeCode CE/EE - Bug #4092 (Feedback): [ce, ee] Redmine/JIRA integrations - smart commitshttps://issues.rhodecode.com/issues/40922016-07-15T12:29:44ZDaniel Ddaniel@rhodecode.com
<p>For the redmine case there are 5 states for a ticket:</p>
<ul>
<li>new</li>
<li>in progress</li>
<li>resolved</li>
<li>feedback</li>
<li>closed'</li>
</ul>
<p>Commit messages should be able to auto close/resolve tickets using keywords such as <code>fixes #42</code></p>
<p>The thing to think about is that the user may want 'fixes #20' to set the redmine issue to any of 'resolved', 'feedback' or 'closed' - this should be set in the integration options.</p>
<p>Allowing custom multiple regex => state mappers per integration is the most powerful but might be overkill- making standard keywords might be better eg:</p>
<p>fixes => resolved<br>
closes => closed</p>
<p>Then again this might be no good for international users.</p>
RhodeCode CE/EE - Bug #4091 (Resolved): [ce, ee] Redmine integration blocks for 30 seconds if red...https://issues.rhodecode.com/issues/40912016-07-15T08:59:15ZDaniel Ddaniel@rhodecode.com
<p>This is a problem when not running celery - ie. sync mode, should lower the timeout to something smaller.</p>
RhodeCode CE/EE - Bug #3549 (Resolved): [4.0.0 regression], file source links use last commit id ...https://issues.rhodecode.com/issues/35492016-04-21T13:20:01ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>Case:</p>
<p>You're browsing a file tree at tag v2.2.8 - commit id XXX</p>
<p>When entering particular file (lets say setup.py), the links and headers are based on the last commit (YYY) of file instead of the XXX.</p>
<p>This causes few problems:</p>
<ul>
<li>the commit info suddenly changes when moving from tree view, to file view, since all info is taken from YYY</li>
<li>references suddenly change, so you're puzzled why the tag reference is suddenly missing, again since references are calculated from YYY</li>
<li>links like raw, annotate etc uses the last commit id (YYY), and clicking on them actually can show you totally different things since YYY can be a different branch last edit.</li>
</ul>
<p>We should always use XXX since this is the file tree you're browsing AT, and all things should be poiting to this commit.</p>
<p>I would also add additional link to what's the last commit of file, after XXX that will show YYY, so one can tell if actual XXX commit is one that changed file setup.py</p>
RhodeCode CE/EE - Task #3454 (Feedback): [ce/ee] visually differentiate the two editionshttps://issues.rhodecode.com/issues/34542016-04-07T15:38:27ZOliver Strobeloliver@rhodecode.com
<p>Currently we are only changing the footer to include Community vs. Enterprise differentiation.</p>
<p>Purpose: It should be possible to tell the difference in edition quickly when switching between CE/EE tabs.</p>
<p>Potential solutions:<br>
1) Add the edition name into the header after the logo on the top left<br>
2) Change the colour of the header between editions, eg.<br>
CE = dark grey<br>
EE = black</p>
<p>Thoughts?</p>
RhodeCode CE/EE - Feature #2539 (Feedback): Recursive deletion of resourceshttps://issues.rhodecode.com/issues/25392015-08-25T18:11:48ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>Ticket from support: <a href="https://rhodecode.tenderapp.com/help/discussions/problems/7125-rc-225-after-deleting-repo-groups-on-file-system-then-rescan-the-repo-groups-are-always-in-the-db" class="external">https://rhodecode.tenderapp.com/help/discussions/problems/7125-rc-225-after-deleting-repo-groups-on-file-system-then-rescan-the-repo-groups-are-always-in-the-db</a></p>
<p>Use case:</p>
<ul>
<li>gemalto needs to often delete large repository groups, current system doesn't allow doing it from web interface</li>
<li>users need to delete manually each repo inside repo group and then delete the group itself</li>
</ul>
<p>Currently our system supports this operation in cleanup mode, so you can delete whole directory from the filesystem and run remap-and rescan. This is a workaround and should allow<br>
big cleanup, but it's far from being straightforward to do.</p>
<p>We need a consistent interface for deletion of resource that hold other resources. This should currently include two places</p>
<ul>
<li>user deletion (that hold repo groups/user groups/repositories)</li>
<li>repository group deletion (that hold other repositories)</li>
</ul>
<p>You can delete user or repository group in two ways, goind to admin > users or admin > repo groups and clicking delete.<br>
In case there are dependent objects, we should trigger a warning flash message, and redirect user to advanced settings section of user, or repo group. and allow them to do recursive delete.</p>
<p>There's already an interface for that in users advanced section, when you can select if you want to delete or transfer ownership of repositories or groups that user owns. <br>
We should re-use the logic, and make the same option available to deletion of repository groups. The user advanced section also needs some small improvements.</p>
<p>Recursive delete should have two options.</p>
<ul>
<li>delete resources</li>
<li>transfer ownership of resources to a different user in the system</li>
</ul>
<p>Currently part of that is implemented in user > settings > advanced where we have delete or detach option. <br>
Detach option unfortunetly picks the first super admin in the system which leads to<br>
odd results and you cannot control to whom you need to transfer the ownership.</p>