From 04711ab65a7fb5c4c74acce8d5198befb6bfacaf Mon Sep 17 00:00:00 2001 From: aaronchen2k <462826@qq.com> Date: Sat, 1 Feb 2020 16:58:24 +0800 Subject: [PATCH] success to exec jenkins job via svn commit log --- module/repo/model.php | 6 ++++++ module/svn/control.php | 2 +- module/svn/model.php | 30 +++++++++++++++++++++--------- 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/module/repo/model.php b/module/repo/model.php index ae9202579f..e4e9930ed1 100644 --- a/module/repo/model.php +++ b/module/repo/model.php @@ -1138,6 +1138,12 @@ class repoModel extends model ->beginIF(!empty(whr))->andWhere('(' . $whr . ')')->fi() ->orderBy(id) ->fetchAll(); + + foreach($repos as $repo) + { + $repo->password = base64_decode($repo->password); + } + return $repos; } } diff --git a/module/svn/control.php b/module/svn/control.php index 1b98137f74..f8ffbeb13e 100644 --- a/module/svn/control.php +++ b/module/svn/control.php @@ -72,7 +72,7 @@ class svn extends control $url = helper::safe64Decode($url); if(common::hasPriv('repo', 'view')) { - $repos = $this->loadModel('repo')->getAllRepos(); + $repos = $this->loadModel('repo')->listAll(); foreach($repos as $repo) { if($repo->SCM != 'Subversion') continue; diff --git a/module/svn/model.php b/module/svn/model.php index edf1a4abeb..f4b35722d2 100644 --- a/module/svn/model.php +++ b/module/svn/model.php @@ -228,7 +228,8 @@ class svnModel extends model foreach($repoObjs as $repoInDb) { if(strtolower($repoInDb->SCM) === 'subversion' && !in_array($repoInDb->path, $svnRepos)) { - $svnRepos[] = (object)array('id'=>$repoInDb->id, 'path' => $repoInDb->path, 'encoding' => 'utf-8'); + $svnRepos[] = (object)array('id'=>$repoInDb->id, 'path' => $repoInDb->path, + 'encoding' => 'utf-8', 'client' => $repoInDb->client, 'account' => $repoInDb->account, 'password' => $repoInDb->password); $paths[] = $repoInDb->path; } } @@ -274,7 +275,8 @@ class svnModel extends model $this->setClient($repo); if(empty($this->client)) return false; - $this->setLogFile($repo->name); + $this->setLogFile($repo->id); + $this->setTagFile($repo->id); $this->setRepoRoot($repo); return true; } @@ -288,19 +290,17 @@ class svnModel extends model */ public function setClient($repo) { - $this->client = $repo->client; - - $this->client = $this->config->svn->client . " --non-interactive"; + $this->client = $repo->client . " --non-interactive"; if(stripos($repo->path, 'https') === 0 or stripos($repo->path, 'svn') === 0) { - $cmd = $this->config->svn->client . ' --version --quiet'; + $cmd = $repo->client . ' --version --quiet'; $version = `$cmd`; if(version_compare($version, '1.6.0', '>')) { $this->client .= ' --trust-server-cert'; } } - if(isset($repo->username)) $this->client .= " --username $repo->username --password $repo->password --no-auth-cache"; + if(isset($repo->account)) $this->client .= " --username $repo->account --password $repo->password --no-auth-cache"; return true; } @@ -311,9 +311,21 @@ class svnModel extends model * @access public * @return void */ - public function setLogFile($repoName) + public function setLogFile($repoId) { - $this->logFile = $this->logRoot . $repoName; + $this->logFile = $this->logRoot . $repoId . '.log'; + } + + /** + * Set the tag file of a repo. + * + * @param string $repoId + * @access public + * @return void + */ + public function setTagFile($repoId) + { + $this->tagFile = $this->logRoot . $repoId . '.tag'; } /**