* Finish task#49221
This commit is contained in:
@@ -282,13 +282,15 @@ class gitlab
|
||||
* @param string $path
|
||||
* @param string $fromRevision
|
||||
* @param string $toRevision
|
||||
* @param string $fromProject
|
||||
* @param string $extra
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function diff($path, $fromRevision, $toRevision, $fromProject = '')
|
||||
public function diff($path, $fromRevision, $toRevision, $fromProject = '', $extra = '')
|
||||
{
|
||||
if(!scm::checkRevision($fromRevision)) return array();
|
||||
if(!scm::checkRevision($toRevision)) return array();
|
||||
if(!scm::checkRevision($fromRevision) and $extra != 'isBranchOrTag') return array();
|
||||
if(!scm::checkRevision($toRevision) and $extra != 'isBranchOrTag') return array();
|
||||
|
||||
$api = "compare";
|
||||
$params = array('from' => $fromRevision, 'to' => $toRevision);
|
||||
|
||||
@@ -261,13 +261,14 @@ class GitRepo
|
||||
* @param string $path
|
||||
* @param string $fromRevision
|
||||
* @param string $toRevision
|
||||
* @param string $extra
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function diff($path, $fromRevision, $toRevision)
|
||||
public function diff($path, $fromRevision, $toRevision, $extra = '')
|
||||
{
|
||||
if(!scm::checkRevision($fromRevision)) return array();
|
||||
if(!scm::checkRevision($toRevision)) return array();
|
||||
if(!scm::checkRevision($fromRevision) and $extra != 'isBranchOrTag') return array();
|
||||
if(!scm::checkRevision($toRevision) and $extra != 'isBranchOrTag') return array();
|
||||
|
||||
$path = ltrim($path, DIRECTORY_SEPARATOR);
|
||||
chdir($this->root);
|
||||
|
||||
@@ -115,11 +115,15 @@ class scm
|
||||
*/
|
||||
public function diff($path, $fromRevision = 0, $toRevision = 'HEAD', $parse = 'yes', $extra = '')
|
||||
{
|
||||
if(!scm::checkRevision($fromRevision)) return array();
|
||||
if(!scm::checkRevision($toRevision)) return array();
|
||||
if(!scm::checkRevision($fromRevision) and $extra != 'isBranchOrTag') return array();
|
||||
if(!scm::checkRevision($toRevision) and $extra != 'isBranchOrTag') return array();
|
||||
|
||||
if(!$extra) $diffs = $this->engine->diff($path, $fromRevision, $toRevision);
|
||||
if($extra) $diffs = $this->engine->diff($path, $fromRevision, $toRevision, $extra);
|
||||
if($extra)
|
||||
{
|
||||
if(get_class($this->engine) == 'gitlab') $diffs = $this->engine->diff($path, $fromRevision, $toRevision, '', $extra);
|
||||
if(get_class($this->engine) != 'gitlab') $diffs = $this->engine->diff($path, $fromRevision, $toRevision, $extra);
|
||||
}
|
||||
|
||||
if($parse != 'yes') return implode("\n", $diffs);
|
||||
return $this->engine->parseDiff($diffs);
|
||||
|
||||
@@ -709,10 +709,11 @@ class repo extends control
|
||||
* @param string $newRevision
|
||||
* @param string $showBug
|
||||
* @param string $encoding
|
||||
* @param bool $isBranchOrTag
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function diff($repoID, $objectID = 0, $entry = '', $oldRevision = '0', $newRevision = 'HEAD', $showBug = 'false', $encoding = '')
|
||||
public function diff($repoID, $objectID = 0, $entry = '', $oldRevision = '0', $newRevision = 'HEAD', $showBug = 'false', $encoding = '', $isBranchOrTag = false)
|
||||
{
|
||||
$this->commonAction($repoID, $objectID);
|
||||
|
||||
@@ -745,7 +746,7 @@ class repo extends control
|
||||
$encoding = empty($encoding) ? $repo->encoding : $encoding;
|
||||
$encoding = strtolower(str_replace('_', '-', $encoding));
|
||||
$info = $this->scm->info($entry, $newRevision);
|
||||
$diffs = $this->scm->diff($entry, $oldRevision, $newRevision);
|
||||
$diffs = $this->scm->diff($entry, $oldRevision, $newRevision, 'yes', $isBranchOrTag ? 'isBranchOrTag': '');
|
||||
foreach($diffs as $diff)
|
||||
{
|
||||
if($encoding != 'utf-8')
|
||||
|
||||
Reference in New Issue
Block a user