Mercurial > public > src > rhodecode
diff pylons_app/controllers/files.py @ 145:3f01d02c2cc6
fixed error when browsing revisions on path that doesn't exist. Fixed files browsing. Fixed templates in branches and tags
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 10 May 2010 23:12:45 +0200 |
parents | f7218849798a |
children | 873fd2dc62c2 |
line wrap: on
line diff
--- a/pylons_app/controllers/files.py Sun May 09 17:35:51 2010 +0200 +++ b/pylons_app/controllers/files.py Mon May 10 23:12:45 2010 +0200 @@ -8,7 +8,7 @@ from pylons_app.model.hg_model import HgModel from difflib import unified_diff from pylons_app.lib.differ import render_udiff -from vcs.exceptions import RepositoryError +from vcs.exceptions import RepositoryError, ChangesetError log = logging.getLogger(__name__) @@ -18,9 +18,18 @@ c.repo_name = get_repo_slug(request) def index(self, repo_name, revision, f_path): - revision = request.POST.get('at_rev', None) or revision hg_model = HgModel() c.repo = repo = hg_model.get_repo(c.repo_name) + + revision = request.POST.get('at_rev', None) or revision + if request.POST.get('view_low'): + revision = int(revision) - 1 + if request.POST.get('view_high'): + revision = int(revision) + 1 + max_rev = len(c.repo.revisions) - 1 + if revision > max_rev: + revision = max_rev + c.f_path = f_path try: c.changeset = repo.get_changeset(repo._get_revision(revision)) @@ -28,7 +37,7 @@ c.rev_nr = c.changeset.revision c.files_list = c.changeset.get_node(f_path) c.file_history = self._get_history(repo, c.files_list, f_path) - except RepositoryError: + except (RepositoryError, ChangesetError): c.files_list = None return render('files/files.html')