protected function importSCMFile($pear, $memberId, $dir)
 {
     $filesystem = new sfFilesystem();
     $info = $pear->infoFromDescriptionFile($dir . '/package.xml');
     if ($info instanceof PEAR_Error) {
         throw new RuntimeException($info->message());
     }
     $filename = sprintf('%s-%s.tgz', $info['name'], $info['version']);
     opPluginChannelServerToolkit::generateTarByPluginDir($info, $filename, $dir, sfConfig::get('sf_cache_dir'));
     $file = $this->getImportedPluginFile($filename, sfConfig::get('sf_cache_dir') . '/' . $filename);
     $release = Doctrine::getTable('PluginRelease')->createByPackageInfo($info, $file, $memberId, file_get_contents($dir . '/package.xml'));
     $this->package->PluginRelease[] = $release;
     $this->package->save();
     $filesystem = new sfFilesystem();
     sfToolkit::clearDirectory($dir);
     $filesystem->remove($dir);
     $filesystem->remove(sfConfig::get('sf_cache_dir') . '/' . $filename);
 }