Error when accessing files or changesets of a git repository with submodules

Issue #434 resolved
Martin Felis created an issue

First of all: thank you for this very nice software! It helps a lot in my daily work.

I have a git repository that uses a submodule and it seems as if rhodecode or dulwich do get mixed up with it. Whenever I click on "changesets" or "files" it tries to query the most recent git object of the submodule.

Here is the log output: {{{ URL: http://<someaddress>/<path_to_project>/files/tip/ Module weberror.errormiddleware:162 in call

app_iter = self.application(environ, sr_checker) Module beaker.middleware:155 in call return self.wrap_app(environ, session_start_response) Module routes.middleware:131 in call response = self.app(environ, start_response) Module pylons.wsgiapp:107 in call response = self.dispatch(controller, environ, start_response) Module pylons.wsgiapp:312 in dispatch return controller(environ, start_response) Module rhodecode.lib.base:169 in call return WSGIController.call(self, environ, start_response) Module pylons.controllers.core:211 in call response = self.dispatch_call() Module pylons.controllers.core:162 in _dispatch_call response = self._inspect_call(func) Module pylons.controllers.core:105 in _inspect_call result = self._perform_call(func, args) Module pylons.controllers.core:57 in _perform_call return func(args) Module rhodecode.controllers.files:2 in index Module rhodecode.lib.auth:528 in __wrapper return func(*fargs, fkwargs) Module rhodecode.controllers.files:162 in index return render('files/files.html') Module pylons.templating:243 in render_mako cache_type=cache_type, cache_expire=cache_expire) Module pylons.templating:218 in cached_template return render_func() Module pylons.templating:240 in render_template return literal(template.render_unicode(globs)) Module mako.template:387 in render_unicode as_unicode=True) Module mako.runtime:646 in _render _kwargs_for_callable(callable, data)) Module mako.runtime:678 in render_context _exec_template(inherit, lclcontext, args=args, kwargs=kwargs) Module mako.runtime:699 in _exec_template _render_error(template, context, e) Module mako.runtime:708 in _render_error result = template.error_handler(context, error) Module mako.runtime:697 in _exec_template callable(context, args, kwargs) Module base_root_html:63 in render_body M_writer(escape(next.body())) Module _base_base_html:74 in render_body M_writer(escape(next.main())) Module files_files_html:65 in render_main runtime._include_file(context, u'files_ypjax.html', _template_uri) Module mako.runtime:573 in _include_file callable(ctx, kwargs_for_include(callable, context.data, kwargs)) Module files_files_ypjax_html:36 in render_body runtime.include_file(context, u'files_browser.html', _template_uri) Module mako.runtime:573 in _include_file callable(ctx, _kwargs_for_include(callable, context._data, kwargs)) Module files_files_browser_html:108 in render_body for cnt,node in enumerate(c.file): Module rhodecode.lib.vcs.nodes:486 in iter for node in self.nodes: Module rhodecode.lib.vcs.utils.lazy:26 in get result = obj.dict[self.name] = self._func(obj) Module rhodecode.lib.vcs.nodes:471 in nodes nodes = self.changeset.get_nodes(self.path) Module rhodecode.lib.vcs.backends.git.changeset:348 in get_nodes obj = self.repository._repo.get_object(id) Module dulwich.repo:955 in get_object return self.object_store[sha] Module dulwich.object_store:112 in getitem type_num, uncomp = self.get_raw(sha) Module dulwich.object_store:322 in get_raw raise KeyError(hexsha) KeyError: '667b1a76dab3f5f73c30cb352b68a30c9fe242b4' CGI Variables CONTENT_LENGTH '0' CONTENT_TYPE '; charset="utf-8"' HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,/*;q=0.8' HTTP_ACCEPT_ENCODING 'gzip, deflate' HTTP_ACCEPT_LANGUAGE 'en-us,en;q=0.5' HTTP_CONNECTION 'Keep-Alive' HTTP_COOKIE 'rhodecode=c213ac089e6641dbba3c008ded039f79' HTTP_HOST '<someaddress>' HTTP_REFERER 'http://<someaddress>/<path_to_project>/summary' HTTP_USER_AGENT 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:12.0) Gecko/20100101 Firefox/12.0' PATH_INFO '<path_to_project>files/tip/' REMOTE_ADDR '<some_ip>' REQUEST_METHOD 'GET' SCRIPT_NAME '/code' SERVER_NAME '<someaddress>' SERVER_PORT '5000' SERVER_PROTOCOL 'HTTP/1.1' WSGI Variables application <beaker.middleware.SessionMiddleware object at 0x2d9f890> beaker.get_session <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x2d9f890>> beaker.session {'_authentication_token': '45ac5ed182dd07d70a83d49b8ba1cf96a00bef3a', 'rhodecode_user': {'username': u'<some_user>', 'is_authenticated': True, 'user_id': 2}, '_accessed_time': 1336066900.081687, '_creation_time': 1336066005.321517} paste.httpserver.thread_pool <paste.httpserver.ThreadPool object at 0x18b2750> paste.registry <paste.registry.Registry object at 0x3b73a50> paste.throw_errors True pylons.action_method <bound method FilesController.index of <rhodecode.controllers.files.FilesController object at 0x3baf690>> pylons.controller <rhodecode.controllers.files.FilesController object at 0x3baf690> pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons <pylons.util.PylonsContext object at 0x3baf090> pylons.routes_dict {'action': u'index', 'controller': u'files', 'revision': u'tip', 'f_path': '', 'repo_name': u'<repo_name>'} routes.route <routes.route.Route object at 0x2a40950> routes.url <routes.util.URLGenerator object at 0x3bb0750> webob._parsed_query_vars (GET([]), '') webob.adhoc_attrs {'user': <AuthUser('id:2:<some_user>|True')>, 'language': 'en-us'} wsgi process 'Multithreaded' wsgiorg.routing_args (<routes.util.URLGenerator object at 0x3bb0750>, {'action': u'index', 'controller': u'files', 'revision': u'tip', 'f_path': '', 'repo_name': u'<repo_name>'}) }}}

Comments (1)

  1. Log in to comment