diff --git a/module/common/lang/menu.php b/module/common/lang/menu.php
index 034969f00b..f2b09ad06b 100644
--- a/module/common/lang/menu.php
+++ b/module/common/lang/menu.php
@@ -213,8 +213,6 @@ $lang->scrum->menu->settings['subMenu']->whitelist = array('link' => "{$lang->
$lang->scrum->menu->settings['subMenu']->stakeholder = array('link' => "{$lang->stakeholder->common}|stakeholder|browse|project=%s", 'subModule' => 'stakeholder');
$lang->scrum->menu->settings['subMenu']->group = array('link' => "{$lang->priv}|project|group|project=%s", 'alias' => 'group,manageview,managepriv');
-$lang->scrum->menu->devops['subMenu'] = new stdclass();
-
/* Waterfall menu. */
$lang->waterfall->menu = new stdclass();
$lang->waterfall->menu->index = array('link' => "$lang->dashboard|project|index|project=%s");
@@ -300,8 +298,6 @@ $lang->execution->menu->view['subMenu'] = new stdclass();
$lang->execution->menu->view['subMenu']->groupTask = "$lang->groupView|execution|grouptask|executionID=%s";
$lang->execution->menu->view['subMenu']->tree = "$lang->treeView|execution|tree|executionID=%s";
-$lang->execution->menu->devops['subMenu'] = new stdclass();
-
$lang->execution->menu->qa['subMenu'] = new stdclass();
$lang->execution->menu->qa['subMenu']->qa = array('link' => "$lang->dashboard|execution|qa|executionID=%s");
$lang->execution->menu->qa['subMenu']->bug = array('link' => "{$lang->bug->common}|execution|bug|executionID=%s", 'subModule' => 'bug');
@@ -370,8 +366,6 @@ $lang->devops->menuOrder[15] = 'jenkins';
$lang->devops->menuOrder[20] = 'maintain';
$lang->devops->menuOrder[25] = 'rules';
-$lang->devops->menu->code['subMenu'] = new stdclass();
-
/* Doc menu.*/
$lang->doc->menu = new stdclass();
$lang->doc->menu->recent = array('link' => "{$lang->doc->recent}|doc|recent");
diff --git a/module/repo/control.php b/module/repo/control.php
index f756e39ee7..5b3e32f5cb 100644
--- a/module/repo/control.php
+++ b/module/repo/control.php
@@ -61,8 +61,6 @@ class repo extends control
$this->repo->setMenu($this->repos, $repoID);
}
- $this->lang->modulePageNav = $this->repo->select($this->repos, $repoID, $this->app->openApp, $objectID);
-
if(empty($this->repos) and $this->methodName != 'create') die(js::locate($this->repo->createLink('create', "objectID=$objectID")));
}
@@ -342,13 +340,12 @@ class repo extends control
$this->session->set('revisionList', $this->app->getURI(true));
session_write_close();
- /* Use cookie to switch repo branch. */
- setcookie('repoBranch', $branchID);
-
/* Get repo and synchronous commit. */
$repo = $this->repo->getRepoByID($repoID);
if(!$repo->synced) $this->locate($this->repo->createLink('showSyncCommit', "repoID=$repoID"));
+ $branches = $this->repo->getBranches($repo);
+
/* Decrypt path and get cacheFile. */
$path = $this->repo->decodePath($path);
$cacheFile = $this->repo->getCacheFile($repoID, $path, $revision);
@@ -426,11 +423,13 @@ class repo extends control
$this->view->title = $this->lang->repo->common;
$this->view->repo = $repo;
+ $this->view->repos = $this->repos;
$this->view->revisions = $revisions;
$this->view->revision = $revision;
$this->view->infos = $infos;
$this->view->repoID = $repoID;
- $this->view->branchID = $this->cookie->branchID;
+ $this->view->branches = $branches;
+ $this->view->branchID = $branchID ? $branchID : key($branches);
$this->view->objectID = $objectID;
$this->view->pager = $pager;
$this->view->path = urldecode($path);
diff --git a/module/repo/view/browse.html.php b/module/repo/view/browse.html.php
index 9c65c9fc67..aa405f192f 100644
--- a/module/repo/view/browse.html.php
+++ b/module/repo/view/browse.html.php
@@ -11,23 +11,30 @@