# HG changeset patch # User Marcin Kuzminski # Date 2012-11-04 13:16:11 # Node ID b84a4ec93ab688f2e6cbb70a105194fd907c8073 # Parent cff9d4e1d82162961d6cabd72756940a21c29544 hanlde stripped or removed changesets on changeset info function diff --git a/rhodecode/controllers/changeset.py b/rhodecode/controllers/changeset.py --- a/rhodecode/controllers/changeset.py +++ b/rhodecode/controllers/changeset.py @@ -448,7 +448,10 @@ class ChangesetController(BaseRepoContro @jsonify def changeset_info(self, repo_name, revision): - if request.is_xhr or 1: - return c.rhodecode_repo.get_changeset(revision) + if request.is_xhr: + try: + return c.rhodecode_repo.get_changeset(revision) + except ChangesetDoesNotExistError, e: + return EmptyChangeset(message=str(e)) else: raise HTTPBadRequest() diff --git a/rhodecode/lib/vcs/backends/base.py b/rhodecode/lib/vcs/backends/base.py --- a/rhodecode/lib/vcs/backends/base.py +++ b/rhodecode/lib/vcs/backends/base.py @@ -927,12 +927,12 @@ class EmptyChangeset(BaseChangeset): """ def __init__(self, cs='0' * 40, repo=None, requested_revision=None, - alias=None): + alias=None, message='', author='', date=''): self._empty_cs = cs self.revision = -1 - self.message = '' - self.author = '' - self.date = '' + self.message = message + self.author = author + self.date = date self.repository = repo self.requested_revision = requested_revision self.alias = alias