Interface RepoCommand.RemoteReader

  • All Known Implementing Classes:
    RepoCommand.DefaultRemoteReader
    Enclosing class:
    RepoCommand

    public static interface RepoCommand.RemoteReader
    A callback to get ref sha1 of a repository from its uri. We provided a default implementation RepoCommand.DefaultRemoteReader to use ls-remote command to read the sha1 from the repository and clone the repository to read the file. Callers may have their own quicker implementation.
    Since:
    3.4
    • Method Detail

      • sha1

        @Nullable
        ObjectId sha1​(java.lang.String uri,
                      java.lang.String ref)
               throws GitAPIException
        Read a remote ref sha1.
        Parameters:
        uri - The URI of the remote repository
        ref - Name of the ref to lookup. May be a short-hand form, e.g. "master" which is automatically expanded to "refs/heads/master" if "refs/heads/master" already exists.
        Returns:
        the sha1 of the remote repository, or null if the ref does not exist.
        Throws:
        GitAPIException
      • readFile

        @Deprecated
        default byte[] readFile​(java.lang.String uri,
                                java.lang.String ref,
                                java.lang.String path)
                         throws GitAPIException,
                                java.io.IOException
        Read a file from a remote repository.
        Parameters:
        uri - The URI of the remote repository
        ref - The ref (branch/tag/etc.) to read
        path - The relative path (inside the repo) to the file to read
        Returns:
        the file content.
        Throws:
        GitAPIException
        java.io.IOException
        Since:
        3.5
      • readFileWithMode

        @NonNull
        RepoCommand.RemoteFile readFileWithMode​(java.lang.String uri,
                                                java.lang.String ref,
                                                java.lang.String path)
                                         throws GitAPIException,
                                                java.io.IOException
        Read contents and mode (i.e. permissions) of the file from a remote repository.
        Parameters:
        uri - The URI of the remote repository
        ref - Name of the ref to lookup. May be a short-hand form, e.g. "master" which is automatically expanded to "refs/heads/master" if "refs/heads/master" already exists.
        path - The relative path (inside the repo) to the file to read
        Returns:
        The contents and file mode of the file in the given repository and branch. Never null.
        Throws:
        GitAPIException - If the ref have an invalid or ambiguous name, or it does not exist in the repository,
        java.io.IOException - If the object does not exist or is too large
        Since:
        5.2