Example #1
0
 public function comment()
 {
     $cache_key = array('commit_comment', $this->revision);
     if (Store::has($cache_key)) {
         return Store::get($cache_key);
     }
     $log = Subversion::cmd('log', array(OpenpearConfig::svn_root()), array('revision' => $this->revision, 'limit' => 1));
     $log = array_shift($log);
     Store::set($cache_key, $log['msg']);
     return $log['msg'];
 }
 public function create()
 {
     try {
         Subversion::cmd('import', array(OpenpearConfig::svn_skeleton(work_path('skeleton')), File::absolute(OpenpearConfig::svn_root(), $this->package()->name())), array('message' => sprintf('[New Package] %s (@%s)', $this->package()->name(), $this->maintainer()->name()), 'username' => OpenpearConfig::system_user('openpear')));
         // $message = new OpenpearMessage();
         // $message->subject('New Package is ready for your commit!');
         $this->delete();
         C($this)->commit();
     } catch (Exception $e) {
         Log::error($e->getMessage());
         $this->trial_count += 1;
         $this->save();
         C($this)->commit();
     }
 }
Example #3
0
 public function check_repo_exists()
 {
     $this->login_required();
     try {
         $package = OpenpearPackage::get_package($this->in_vars('package_id'));
         $info = Subversion::cmd('info', array(File::absolute(OpenpearConfig::svn_root(), implode('/', array($package->name(), 'trunk', $this->in_vars('dir', ''))))));
         if (isset($info['kind']) && $info['kind'] == 'dir') {
             echo 'ok';
         } else {
             throw new RuntimeException('directory is not found');
         }
     } catch (Exception $e) {
         Log::debug($e);
         echo 'ng';
     }
     exit;
 }
Example #4
0
 /**
  * SVNからログを取得
  * @param array $info
  * @return array
  */
 public static function format_info(array $info)
 {
     // TODO 仕様の確認
     // TODO Subversion::cmdの実装
     $log = Subversion::cmd('log', array($info['url']), array('limit' => 1));
     $info['recent'] = array_shift($log);
     try {
         $info['recent']['maintainer'] = C(OpenpearMaintainer)->find_get(Q::eq('name', $info['recent']['author']));
     } catch (NotfoundDaoException $e) {
         // FIXME
         $info['recent']['maintainer'] = new OpenpearMaintainer();
     }
     return $info;
 }
Example #5
0
 public final function svn_log_msg($revision)
 {
     $log = Subversion::cmd('log', array(OpenpearConfig::svn_root()), array('revision' => $revision));
     return (string) $log[0]['msg'];
 }