RhodeCode - issues: Issueshttps://issues.rhodecode.com/https://issues.rhodecode.com/favicon.ico?16960560042016-09-29T13:41:00ZRhodeCode - issues
Redmine 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 #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 #4065 (Resolved): [ux, login] 404 on login after comment attempthttps://issues.rhodecode.com/issues/40652016-06-30T16:50:34ZLisa Quatmannlisa@rhodecode.com
<p>When I'm not logged in and attempt to comment on a line in a commit from the commit page, where the comment field would be is replaced by "You need to be logged in to comment. Login now". When I click the "Login now" link, I am directed to a 404 which says "No such commit exists for this repository".</p>
<p>I should be directed to the login page, with a redirect to the line I wanted to comment on after I log in.</p>
<p>"Login now" is producing this url:<br>
<a href="http://dev-instance:5000/codysrepo/changeset/login_home?came_from=/codysrepo/changeset/5f9bc38085e8511830562edace00904669035195" class="external">http://dev-instance:5000/codysrepo/changeset/login_home?came_from=/codysrepo/changeset/5f9bc38085e8511830562edace00904669035195</a></p>
RhodeCode CE/EE - Bug #4036 (Resolved): encrypted clone_uri can throw unicodeerror after key changehttps://issues.rhodecode.com/issues/40362016-06-21T11:50:06ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>Someone upgraded from EE to CE and go this exception:</p>
<pre><code>INFO [rhodecode.lib.auth] user <AuthUser('id:4[***] ip:*** auth:True')> authenticating with:RHODECODE_AUTH IS authenticated on func SummaryController:index
Error - <type 'exceptions.UnicodeDecodeError'>: 'ascii' codec can't decode byte 0xa6 in position 0: ordinal not in range(128)
URL: ***
File '/opt/rhodecode/store/l6qpjdhxh6gkgmplvx2qdpswhj5ksy97-python2.7-WebError-0.10.3/lib/python2.7/site-packages/weberror/errormiddleware.py', line 162 in __call__
app_iter = self.application(environ, sr_checker)
File '/opt/rhodecode/store/i1ax7221bg9k9c9fd3pv3mrlnsvxc11f-python2.7-Routes-1.13/lib/python2.7/site-packages/routes/middleware.py', line 131 in __call__
response = self.app(environ, start_response)
File '/opt/rhodecode/store/mii099lqnw6anfhgcrb78x7ybvggs7g5-python2.7-Pylons-1.0.1-patch1/lib/python2.7/site-packages/pylons/wsgiapp.py', line 103 in __call__
response = self.dispatch(controller, environ, start_response)
File '/opt/rhodecode/store/mii099lqnw6anfhgcrb78x7ybvggs7g5-python2.7-Pylons-1.0.1-patch1/lib/python2.7/site-packages/pylons/wsgiapp.py', line 313 in dispatch
return controller(environ, start_response)
File '/opt/rhodecode/store/j5s9ifd76mf9ix7dbnwz0ldlyr2cvs25-python2.7-rhodecode-enterprise-ce-4.1.1/lib/python2.7/site-packages/rhodecode/lib/base.py', line 461 in __call__
return WSGIController.__call__(self, environ, start_response)
File '/opt/rhodecode/store/mii099lqnw6anfhgcrb78x7ybvggs7g5-python2.7-Pylons-1.0.1-patch1/lib/python2.7/site-packages/pylons/controllers/core.py', line 214 in __call__
response = self._dispatch_call()
File '/opt/rhodecode/store/mii099lqnw6anfhgcrb78x7ybvggs7g5-python2.7-Pylons-1.0.1-patch1/lib/python2.7/site-packages/pylons/controllers/core.py', line 164 in _dispatch_call
response = self._inspect_call(func)
File '/opt/rhodecode/store/mii099lqnw6anfhgcrb78x7ybvggs7g5-python2.7-Pylons-1.0.1-patch1/lib/python2.7/site-packages/pylons/controllers/core.py', line 107 in _inspect_call
result = self._perform_call(func, args)
File '/opt/rhodecode/store/mii099lqnw6anfhgcrb78x7ybvggs7g5-python2.7-Pylons-1.0.1-patch1/lib/python2.7/site-packages/pylons/controllers/core.py', line 57 in _perform_call
return func(**args)
File '/opt/rhodecode/store/j5s9ifd76mf9ix7dbnwz0ldlyr2cvs25-python2.7-rhodecode-enterprise-ce-4.1.1/lib/python2.7/site-packages/rhodecode/lib/auth.py', line 1896 in local_wrapper
return wrapper(func, *args, **kwds)
File '/opt/rhodecode/store/j5s9ifd76mf9ix7dbnwz0ldlyr2cvs25-python2.7-rhodecode-enterprise-ce-4.1.1/lib/python2.7/site-packages/rhodecode/lib/auth.py', line 1219 in __wrapper
return func(*fargs, **fkwargs)
File '/opt/rhodecode/store/j5s9ifd76mf9ix7dbnwz0ldlyr2cvs25-python2.7-rhodecode-enterprise-ce-4.1.1/lib/python2.7/site-packages/rhodecode/lib/auth.py', line 1896 in local_wrapper
return wrapper(func, *args, **kwds)
File '/opt/rhodecode/store/j5s9ifd76mf9ix7dbnwz0ldlyr2cvs25-python2.7-rhodecode-enterprise-ce-4.1.1/lib/python2.7/site-packages/rhodecode/lib/auth.py', line 1329 in __wrapper
return func(*fargs, **fkwargs)
File '/opt/rhodecode/store/j5s9ifd76mf9ix7dbnwz0ldlyr2cvs25-python2.7-rhodecode-enterprise-ce-4.1.1/lib/python2.7/site-packages/rhodecode/controllers/summary.py', line 175 in index
return render('summary/summary.html')
File '/opt/rhodecode/store/mii099lqnw6anfhgcrb78x7ybvggs7g5-python2.7-Pylons-1.0.1-patch1/lib/python2.7/site-packages/pylons/templating.py', line 244 in render_mako
cache_type=cache_type, cache_expire=cache_expire)
File '/opt/rhodecode/store/mii099lqnw6anfhgcrb78x7ybvggs7g5-python2.7-Pylons-1.0.1-patch1/lib/python2.7/site-packages/pylons/templating.py', line 219 in cached_template
return render_func()
File '/opt/rhodecode/store/mii099lqnw6anfhgcrb78x7ybvggs7g5-python2.7-Pylons-1.0.1-patch1/lib/python2.7/site-packages/pylons/templating.py', line 241 in render_template
return literal(template.render_unicode(**globs))
File '/opt/rhodecode/store/ddcvr7xma53gx5qv7b5h6lsvqcbhm6xx-python2.7-Mako-1.0.1/lib/python2.7/site-packages/mako/template.py', line 452 in render_unicode
as_unicode=True)
File '/opt/rhodecode/store/ddcvr7xma53gx5qv7b5h6lsvqcbhm6xx-python2.7-Mako-1.0.1/lib/python2.7/site-packages/mako/runtime.py', line 803 in _render
**_kwargs_for_callable(callable_, data))
File '/opt/rhodecode/store/ddcvr7xma53gx5qv7b5h6lsvqcbhm6xx-python2.7-Mako-1.0.1/lib/python2.7/site-packages/mako/runtime.py', line 835 in _render_context
_exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
File '/opt/rhodecode/store/ddcvr7xma53gx5qv7b5h6lsvqcbhm6xx-python2.7-Mako-1.0.1/lib/python2.7/site-packages/mako/runtime.py', line 855 in _exec_template
_render_error(template, context, compat.exception_as())
File '/opt/rhodecode/store/ddcvr7xma53gx5qv7b5h6lsvqcbhm6xx-python2.7-Mako-1.0.1/lib/python2.7/site-packages/mako/runtime.py', line 864 in _render_error
result = template.error_handler(context, error)
File '/opt/rhodecode/store/ddcvr7xma53gx5qv7b5h6lsvqcbhm6xx-python2.7-Mako-1.0.1/lib/python2.7/site-packages/mako/runtime.py', line 853 in _exec_template
callable_(context, *args, **kwargs)
File '/home/***/.rccontrol/community-1/data/templates/base/root.html.py', line 58 in render_body
__M_writer(escape(next.body()))
File '/home/***/.rccontrol/community-1/data/templates/base/base.html.py', line 56 in render_body
__M_writer(escape(next.main()))
File '/home/***/.rccontrol/community-1/data/templates/summary/base.html.py', line 49 in render_main
__M_writer(escape(next.main()))
File '/home/***/.rccontrol/community-1/data/templates/summary/summary.html.py', line 53 in render_main
__M_writer(escape(self.repo_page_title(c.rhodecode_db_repo)))
File '/home/***/.rccontrol/community-1/data/templates/base/base.html.py', line 408 in render_repo_page_title
__M_writer(escape(h.url(str(h.hide_credentials(repo_instance.clone_uri)))))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa6 in position 0: ordinal not in range(128)
</code></pre>
<p>I think becuase of ecnryption key changed the clone_uri have some odd characters and call for str() crashes.</p>
RhodeCode CE/EE - Feature #3999 (Resolved): Add `send account information` to user creation pagehttps://issues.rhodecode.com/issues/39992016-06-08T21:47:51ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>When creating new user it's good to send him an info about his account together with password. A simple chechbox that would send this via email template could be useful.<br>
We should also then add require to change password flag (this functionality is already there)</p>
RhodeCode Appenlight - Bug #3991 (Resolved): report logs need upper marginhttps://issues.rhodecode.com/issues/39912016-06-07T12:01:45ZLisa Quatmannlisa@rhodecode.com
<p>See attached; this text needs some padding around it.</p>
RhodeCode Appenlight - Bug #3989 (Resolved): even up report spacinghttps://issues.rhodecode.com/issues/39892016-06-07T12:00:03ZLisa Quatmannlisa@rhodecode.com
<p>See attached; note that the headers are closer to the report stats than they are to each other. Could use a little straightening out.</p>
RhodeCode CE/EE - Task #3556 (Resolved): Disable and rename initial_repo_scan flaghttps://issues.rhodecode.com/issues/35562016-04-22T14:30:46ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>When doing an migration from 2.X/1.X to 3.X or 4.X the initial_repo_scan was enabled by default. This is a really bad flag, and we should by default disable it.</p>
<p>I think by renaming it and making sure it's turned off, we can have a nicer migration path. And still expose it for people if they wish to enable this (somehow bad) functionality.</p>
RhodeCode CE/EE - Bug #3555 (Resolved): Then disabled repo location change the panel should expli...https://issues.rhodecode.com/issues/35552016-04-22T14:04:01ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>inside .ini file do <code>allow_repo_location_change = false</code></p>
<p>Then go to admin > settings > vcs</p>
<p>This would show you an empty <code>Main Storage Location</code> panel.</p>
<p>We should explicitly state that the repository location change is disabled.</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 - Bug #3357 (Resolved): switch to sometimes fails to load files metadatahttps://issues.rhodecode.com/issues/33572016-03-21T23:38:59ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>Go to files view, clear cache. Run switch to to a tag, or different branch observe that loading files-metadata is stuck at "loading..."</p>
RhodeCode CE/EE - Task #3239 (Resolved): Catch all route for repo page or repo group page is alwa...https://issues.rhodecode.com/issues/32392016-03-04T10:32:22ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>THere's two routes in the match chain that catch repositories and groups landing page</p>
<pre><code> _connect_with_slash(
rmap, 'repo_group_home', '/{group_name}',
controller='home', action='index_repo_group',
conditions={'function': check_group},
requirements=URL_NAME_REQUIREMENTS)
</code></pre>
<p>and</p>
<pre><code> _connect_with_slash(
rmap, 'summary_home', '/{repo_name}',
controller='summary', action='index',
conditions={'function': check_repo},
requirements=URL_NAME_REQUIREMENTS)
</code></pre>
<p>There are defined at the beginning of the routes. Those routes execute check_repo and check_repo_group.<br>
What it means that if you visit any other page inside a repo or group you have the check_repo or check_group executed twice.</p>
<p>Example:</p>
<p>You go to <a href="https://code.rhodecode.com/https://code.rhodecode.com/rhodecode-momentum/pull-request" class="external">https://code.rhodecode.com/https://code.rhodecode.com/rhodecode-momentum/pull-request</a>, currently it matches both checks, eg.</p>
<ul>
<li>code checks if <code>rhodecode-momentum/pull-request</code> is a repository group (since /{group_name} match)</li>
<li>code checks if <code>rhodecode-momentum/pull-request</code> is a repository (since /{repo_name} match)</li>
<li>code checks if <code>rhodecode-momentum</code> is a repo (since /{repo_name}/pull-request}, only this matches since the route matches patterns, and repo check is valid.</li>
</ul>
<p>Imho we should move the eager matching patterns at the end, so we reduce the group/repo checks to the very end. This should speed up most of the pages since those checks will be skipped</p>
RhodeCode CE/EE - Task #2744 (Resolved): Deprecating Internet Explorerhttps://issues.rhodecode.com/issues/27442015-09-29T16:05:04ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>Thought about it a little bit, here's my proposal on ie deprecation:</p>
<p>RhodeCode 3.7 would be the last IE8 tested release.<br>
RhodeCode 3.7+ we stop testing on IE8</p>
<p>RhodeCode 3.8 would be the last supporting IE9<br>
RhodeCode 3.8+ we would stop testing on IE9</p>
<p>TBD: do we simply stop testing, on clean up IE specific hacks ?</p>
<p>As of 3.7+ and 3.8+ we need a dedicated page about not supported browser to display to users that use older browsers. Why ? We have twice issue that users did use ie11, but they had IE7/8 rendering engine enabled. We should be explicit about detecting older IE and listing what we actually support</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>