original_string: public static function open($repositoryPath, $svn = null)
      {
          $svn = Binary::ensure($svn);
  
          if (!is_string($repositoryPath)) {
              throw new \InvalidArgumentException(sprintf(
                  '"%s" is not a valid path', $repositoryPath
              ));
          }
  
          $repositoryRoot = self::findRepositoryRoot($svn, $repositoryPath);
  
          if ($repositoryRoot === null) {
              throw new \InvalidArgumentException(sprintf(
                  '"%s" is not a valid SVN repository', $repositoryPath
              ));
          }
  
          return new static($repositoryRoot, $svn);
      }
code: public static function open($repositoryPath, $svn = null)
      {
          $svn = Binary::ensure($svn);
  
          if (!is_string($repositoryPath)) {
              throw new \InvalidArgumentException(sprintf(
                  '"%s" is not a valid path', $repositoryPath
              ));
          }
  
          $repositoryRoot = self::findRepositoryRoot($svn, $repositoryPath);
  
          if ($repositoryRoot === null) {
              throw new \InvalidArgumentException(sprintf(
                  '"%s" is not a valid SVN repository', $repositoryPath
              ));
          }
  
          return new static($repositoryRoot, $svn);
      }
code_tokens: public static function open ( $ repositoryPath , $ svn = null ) { $ svn = Binary :: ensure ( $ svn ) ; if ( ! is_string ( $ repositoryPath ) ) { throw new \ InvalidArgumentException ( sprintf ( '"%s" is not a valid path' , $ repositoryPath ) ) ; } $ repositoryRoot = self :: findRepositoryRoot ( $ svn , $ repositoryPath ) ; if ( $ repositoryRoot === null ) { throw new \ InvalidArgumentException ( sprintf ( '"%s" is not a valid SVN repository' , $ repositoryPath ) ) ; } return new static ( $ repositoryRoot , $ svn ) ; }
docstring: Opens a SVN repository on the file system
  
  @param   string               $repositoryPath        The full path to the repository
  @param   Binary|string|null   $svn                   The SVN binary
  @return  Repository
  @throws  \RuntimeException                       If the path cannot be created
  @throws  \InvalidArgumentException               If the path is not valid or if it's not a valid SVN repository
docstring_tokens: Opens a SVN repository on the file system