# HG changeset patch # User Marcin Kuzminski # Date 1293556624 -3600 # Node ID 322b53be49cc6160abb1957ee6ccdbe48b743b8f # Parent 20ed6f6a63296c753729dedf5917fa2a826e7938 Fixed url bug when using numeric revision in file browser, added follow branch checkbox for browsing only changesets from current branch diff -r 20ed6f6a6329 -r 322b53be49cc rhodecode/controllers/files.py --- a/rhodecode/controllers/files.py Tue Dec 28 01:57:53 2010 +0100 +++ b/rhodecode/controllers/files.py Tue Dec 28 18:17:04 2010 +0100 @@ -57,28 +57,43 @@ def index(self, repo_name, revision, f_path): hg_model = ScmModel() c.repo = hg_model.get_repo(c.repo_name) - revision = request.POST.get('at_rev', None) or revision - - c.f_path = f_path try: + #reditect to given revision from form + post_revision = request.POST.get('at_rev', None) + if post_revision: + post_revision = c.repo.get_changeset(post_revision).raw_id + redirect(url('files_home', repo_name=c.repo_name, + revision=post_revision, f_path=f_path)) + + c.branch = request.GET.get('branch', None) + + c.f_path = f_path + c.changeset = c.repo.get_changeset(revision) cur_rev = c.changeset.revision + #prev link try: - prev_rev = c.repo.get_changeset(cur_rev).prev().raw_id + prev_rev = c.repo.get_changeset(cur_rev).prev(c.branch).raw_id c.url_prev = url('files_home', repo_name=c.repo_name, revision=prev_rev, f_path=f_path) + if c.branch: + c.url_prev += '?branch=%s' % c.branch except ChangesetDoesNotExistError: c.url_prev = '#' + #next link try: - next_rev = c.repo.get_changeset(cur_rev).next().raw_id + next_rev = c.repo.get_changeset(cur_rev).next(c.branch).raw_id c.url_next = url('files_home', repo_name=c.repo_name, revision=next_rev, f_path=f_path) + if c.branch: + c.url_next += '?branch=%s' % c.branch except ChangesetDoesNotExistError: c.url_next = '#' + #files try: c.files_list = c.changeset.get_node(f_path) c.file_history = self._get_history(c.repo, c.files_list, f_path) diff -r 20ed6f6a6329 -r 322b53be49cc rhodecode/public/css/style.css --- a/rhodecode/public/css/style.css Tue Dec 28 01:57:53 2010 +0100 +++ b/rhodecode/public/css/style.css Tue Dec 28 18:17:04 2010 +0100 @@ -1614,10 +1614,18 @@ } div.browserblock .browser-header { -border-bottom:1px solid #CCC; background:#FFF; -color:blue; padding:10px 0; +float:left; +} + +div.browserblock .browser-branch { +background:#FFF; +padding:20px 0 0 0; +float:left; +} +div.browserblock .browser-branch label { +color:#4A4A4A; } div.browserblock .browser-header span { @@ -1627,6 +1635,7 @@ div.browserblock .browser-body { background:#EEE; +border-top:1px solid #CCC; } table.code-browser { diff -r 20ed6f6a6329 -r 322b53be49cc rhodecode/templates/files/files_browser.html --- a/rhodecode/templates/files/files_browser.html Tue Dec 28 01:57:53 2010 +0100 +++ b/rhodecode/templates/files/files_browser.html Tue Dec 28 18:17:04 2010 +0100 @@ -17,6 +17,24 @@ ${h.end_form()} +
+ ${h.checkbox('stay_at_branch',c.changeset.branch,c.changeset.branch==c.branch)} + + +
+