From 4732bd95013939d4e21190f2c3dde25eed78557b Mon Sep 17 00:00:00 2001 From: dingguodong Date: Wed, 18 Aug 2021 16:30:38 +0800 Subject: [PATCH] * Optimize branch function after code review. --- lib/scm/gitlab.class.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/scm/gitlab.class.php b/lib/scm/gitlab.class.php index b5f8e5c696..d360de0edb 100644 --- a/lib/scm/gitlab.class.php +++ b/lib/scm/gitlab.class.php @@ -151,30 +151,32 @@ class gitlab } /** - * Get branch + * Get branches. * * @access public * @return array */ public function branch() { - $branches = array(); - $api = "branches"; - + /* Max size of per_page in gitlab API is 100. */ $params = array(); $params['per_page'] = '100'; + + $branches = array(); for($page = 1; true; $page ++) { $params['page'] = $page; - $list = $this->fetch($api, $params); - if(empty($list)) break; + $branchList = $this->fetch("branches", $params); + if(empty($branchList)) break; - foreach($list as $branch) + foreach($branchList as $branch) { if(!isset($branch->name)) continue; $branches[$branch->name] = $branch->name; } - if(count($list) < $params['per_page']) break; + + /* Last page. */ + if(count($branchList) < $params['per_page']) break; } if(empty($branches)) $branches['master'] = 'master';