Class TransportGitAnon

  • All Implemented Interfaces:
    java.lang.AutoCloseable, PackTransport

    class TransportGitAnon
    extends TcpTransport
    implements PackTransport
    Transport through a git-daemon waiting for anonymous TCP connections.

    This transport supports the git:// protocol, usually run on the IANA registered port 9418. It is a popular means for distributing open source projects, as there are no authentication or authorization overheads.

    • Constructor Detail

      • TransportGitAnon

        TransportGitAnon​(URIish uri)
    • Method Detail

      • openFetch

        public FetchConnection openFetch()
                                  throws TransportException
        Begins a new connection for fetching from the remote repository.

        If the transport has no local repository, the fetch connection can only be used for reading remote refs.

        Specified by:
        openFetch in class Transport
        Returns:
        a fresh connection to fetch from the remote repository.
        Throws:
        TransportException - the remote connection could not be established.
      • openFetch

        public FetchConnection openFetch​(java.util.Collection<RefSpec> refSpecs,
                                         java.lang.String... additionalPatterns)
                                  throws NotSupportedException,
                                         TransportException
        Description copied from class: Transport
        Begins a new connection for fetching from the remote repository.

        If the transport has no local repository, the fetch connection can only be used for reading remote refs.

        If the server supports git protocol V2, the RefSpecs and the additional patterns, if any, are used to restrict the server's ref advertisement to matching refs only.

        Transports that want to support git protocol V2 must override this; the default implementation ignores its arguments and calls Transport.openFetch().

        Overrides:
        openFetch in class Transport
        Parameters:
        refSpecs - that will be fetched via FetchConnection.fetch(ProgressMonitor, Collection, java.util.Set, OutputStream) later
        additionalPatterns - that will be set as ref prefixes if the server supports git protocol V2; null values are ignored
        Returns:
        a fresh connection to fetch from the remote repository.
        Throws:
        NotSupportedException - the implementation does not support fetching.
        TransportException - the remote connection could not be established.
      • close

        public void close()

        Close any resources used by this transport.

        If the remote repository is contacted by a network socket this method must close that network socket, disconnecting the two peers. If the remote repository is actually local (same system) this method must close any open file handles used to read the "remote" repository.

        AutoClosable.close() declares that it throws Exception. Implementers shouldn't throw checked exceptions. This override narrows the signature to prevent them from doing so.

        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in class Transport