From 82b8f0afe1f03cdc800eb412953c440addadab2c Mon Sep 17 00:00:00 2001 From: zenggang Date: Wed, 23 Feb 2022 09:17:01 +0000 Subject: [PATCH] * Fix bug#19866 --- module/repo/control.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/module/repo/control.php b/module/repo/control.php index 09d8d15c21..412dbc8d2c 100644 --- a/module/repo/control.php +++ b/module/repo/control.php @@ -835,13 +835,16 @@ class repo extends control */ public function download($repoID, $path, $fromRevision = 'HEAD', $toRevision = '', $type = 'file', $isBranchOrTag = false) { - $fromRevision = str_replace('*', '-', $fromRevision); - $toRevision = str_replace('*', '-', $toRevision); - if($this->get->repoPath) $path = $this->get->repoPath; $entry = $this->repo->decodePath($path); $repo = $this->repo->getRepoByID($repoID); + if($isBranchOrTag) + { + $fromRevision = urldecode(helper::safe64Decode($fromRevision)); + $toRevision = urldecode(helper::safe64Decode($toRevision)); + } + $this->commonAction($repoID); $this->scm->setEngine($repo); $content = $type == 'file' ? $this->scm->cat($entry, $fromRevision) : $this->scm->diff($entry, $fromRevision, $toRevision, 'patch', $isBranchOrTag ? 'isBranchOrTag': '');