コード例 #1
0
ファイル: Svn.php プロジェクト: google-code-backups/xinc
 /**
  * Gets the modified files between two revisions from svn and puts this info
  * into the ModificationSet_Result.
  *
  * @param Xinc_Plugin_Repos_ModificationSet_Result $result The Result to get
  *  Hash ids from and set modified files.
  *
  * @return void
  * @throw Xinc_Exception_ModificationSet
  */
 protected function getModifiedFiles(Xinc_Plugin_Repos_ModificationSet_Result $result)
 {
     $arStatus = $this->svn->status->run(array($this->task->getDirectory()), array('u' => true));
     $arTarget = $arStatus['target'][0];
     $result->setBasePath($arTarget['path']);
     if (isset($arTarget['entry'])) {
         foreach ($arTarget['entry'] as $entry) {
             $strFileName = $entry['path'];
             $author = null;
             if (isset($entry['repos-status'])) {
                 $strReposStatus = $entry['repos-status']['item'];
             } else {
                 $strReposStatus = '';
             }
             switch ($strReposStatus) {
                 case 'modified':
                     $result->addUpdatedResource($strFileName, $author);
                     break;
                 case 'deleted':
                     $result->addDeletedResource($strFileName, $author);
                     break;
                 case 'added':
                     $result->addNewResource($strFileName, $author);
                     break;
                 case 'conflict':
                     $result->addConflictResource($strFileName, $author);
                     break;
             }
         }
     }
 }