/** * {@inheritDoc} */ public function keys() { try { $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($this->repository->getRepositoryPath(), \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::UNIX_PATHS)); } catch (\Exception $e) { $iterator = new \EmptyIterator(); } $keys = array(); foreach ($iterator as $file) { $path = $this->repository->resolveLocalPath($file); if (preg_match('~\\.(?:svn|git)~i', $path)) { continue; } $keys[] = $key = $path; if ('.' !== dirname($key)) { $keys[] = dirname($key); } } $keys = array_unique($keys); sort($keys); return $keys; }