Kallithea issues archive

Issue #59: Error when clicking on changeset link in Git repo

Reported by: Stefan Walter
State: closed
Created on: 2014-11-27 08:19
Updated on: 2015-04-21 09:03


In a Git repository, I get an error whenever I click on the link to display a changeset, both on the repository's main page and on the changelog page. The stack trace I get via mail looks like this:

Module kallithea.controllers.changeset:2 in index
Module kallithea.lib.auth:776 in __wrapper
>>  return func(*fargs, **fkwargs)
Module kallithea.controllers.changeset:2 in index
Module kallithea.lib.auth:835 in __wrapper
>>  return func(*fargs, **fkwargs)
Module kallithea.controllers.changeset:325 in index
>>  return self._index(revision, method=method)
Module kallithea.controllers.changeset:313 in _index
>>  return render('changeset/changeset.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:452 in render_unicode
>>  as_unicode=True)
Module mako.runtime:803 in _render
>>  **_kwargs_for_callable(callable_, data))
Module mako.runtime:835 in _render_context
>>  _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
Module mako.runtime:855 in _exec_template
>>  _render_error(template, context, compat.exception_as())
Module mako.runtime:864 in _render_error
>>  result = template.error_handler(context, error)
Module mako.runtime:853 in _exec_template
>>  callable_(context, *args, **kwargs)
Module _base_root_html:44 in render_body
>>  __M_writer(escape(next.body()))
Module _base_base_html:55 in render_body
>>  __M_writer(escape(next.main()))
Module changeset_changeset_html:114 in render_main
>>  if (len(c.changeset.affected_files) <= c.affected_files_cut_off) or c.fulldiff:
Module kallithea.lib.vcs.utils.lazy:40 in __get__
>>  value = self._func(obj)
Module kallithea.lib.vcs.backends.git.changeset:467 in affected_files
>>  added, modified, deleted = self._changes_cache
Module kallithea.lib.vcs.utils.lazy:40 in __get__
>>  value = self._func(obj)
Module kallithea.lib.vcs.backends.git.changeset:495 in _changes_cache
>>  changes = _r.object_store.tree_changes(oid, _r[self.raw_id].tree)
Module dulwich.repo:444 in __getitem__
>>  type(name).__name__)
TypeError: 'name' must be bytestring, not unicode



Comment by Mads Kiilerich, on 2014-11-27 13:50

I think this already has been fixed. Please try the stable development repository version - https://bitbucket.org/conservancy/kallithea/wiki/Home . I use it in production and we need others to do the same so stuff can be tested before we take a snapshot and call it stable.

Comment by Stefan Walter, on 2014-11-28 08:27

With "stable development repository version", do you mean the tip of the default branch in the BitBucket repository? Is there a safe path to move to that from version 0.1 that was installed via pip (as described in the "Try" section on the page you linked to)?

Comment by Mads Kiilerich, on 2014-11-28 13:36

Yes, I use the head of the branch in production (and only push changes that already has been tested in production).

We have avoided making any data model changes (except the initial renaming) since we forked. It should even be possible to run '0.1' and the repo head side by side on the same database without any problems.

Comment by Stefan Walter, on 2015-04-21 09:01

Comment by Stefan Walter, on 2015-04-21 09:03

Unfortunately, I didn't have the time to try a development version from the repository. However, I just updated to 0.2.1 via pip, and the issue is resolved. Thanks!