Class FetchCommand

    • Constructor Detail

      • FetchCommand

        protected FetchCommand​(Repository repo)
        Constructor for FetchCommand.
        Parameters:
        repo - a Repository object.
    • Method Detail

      • setRecurseSubmodules

        public FetchCommand setRecurseSubmodules​(@Nullable
                                                 SubmoduleConfig.FetchRecurseSubmodulesMode recurse)
        Set the mode to be used for recursing into submodules.
        Parameters:
        recurse - corresponds to the --recurse-submodules/--no-recurse-submodules options. If null use the value of the submodule.name.fetchRecurseSubmodules option configured per submodule. If not specified there, use the value of the fetch.recurseSubmodules option configured in git config. If not configured in either, "on-demand" is the built-in default.
        Returns:
        this
        Since:
        4.7
      • setRemote

        public FetchCommand setRemote​(String remote)
        The remote (uri or name) used for the fetch operation. If no remote is set, the default value of Constants.DEFAULT_REMOTE_NAME will be used.
        Parameters:
        remote - name of a remote
        Returns:
        this
        See Also:
        Constants.DEFAULT_REMOTE_NAME
      • getRemote

        public String getRemote()
        Get the remote
        Returns:
        the remote used for the remote operation
      • getTimeout

        public int getTimeout()
        Get timeout
        Returns:
        the timeout used for the fetch operation
      • isCheckFetchedObjects

        public boolean isCheckFetchedObjects()
        Whether to check received objects for validity
        Returns:
        whether to check received objects for validity
      • setCheckFetchedObjects

        public FetchCommand setCheckFetchedObjects​(boolean checkFetchedObjects)
        If set to true, objects received will be checked for validity
        Parameters:
        checkFetchedObjects - whether to check objects for validity
        Returns:
        this
      • isRemoveDeletedRefs

        public boolean isRemoveDeletedRefs()
        Whether to remove refs which no longer exist in the source
        Returns:
        whether to remove refs which no longer exist in the source
      • setRemoveDeletedRefs

        public FetchCommand setRemoveDeletedRefs​(boolean removeDeletedRefs)
        If set to true, refs are removed which no longer exist in the source
        Parameters:
        removeDeletedRefs - whether to remove deleted Refs
        Returns:
        this
      • getProgressMonitor

        public ProgressMonitor getProgressMonitor()
        Get progress monitor
        Returns:
        the progress monitor for the fetch operation
      • getRefSpecs

        public List<RefSpec> getRefSpecs()
        Get list of RefSpecs
        Returns:
        the ref specs
      • setRefSpecs

        public FetchCommand setRefSpecs​(String... specs)
        The ref specs to be used in the fetch operation
        Parameters:
        specs - String representation of RefSpecs
        Returns:
        this
        Since:
        4.9
      • setRefSpecs

        public FetchCommand setRefSpecs​(RefSpec... specs)
        The ref specs to be used in the fetch operation
        Parameters:
        specs - one or multiple RefSpecs
        Returns:
        this
      • setRefSpecs

        public FetchCommand setRefSpecs​(List<RefSpec> specs)
        The ref specs to be used in the fetch operation
        Parameters:
        specs - list of RefSpecs
        Returns:
        this
      • isDryRun

        public boolean isDryRun()
        Whether to do a dry run
        Returns:
        the dry run preference for the fetch operation
      • setDryRun

        public FetchCommand setDryRun​(boolean dryRun)
        Sets whether the fetch operation should be a dry run
        Parameters:
        dryRun - whether to do a dry run
        Returns:
        this
      • isThin

        public boolean isThin()
        Get thin-pack preference
        Returns:
        the thin-pack preference for fetch operation
      • setThin

        public FetchCommand setThin​(boolean thin)
        Sets the thin-pack preference for fetch operation. Default setting is Transport.DEFAULT_FETCH_THIN
        Parameters:
        thin - the thin-pack preference
        Returns:
        this
      • setTagOpt

        public FetchCommand setTagOpt​(TagOpt tagOpt)
        Sets the specification of annotated tag behavior during fetch
        Parameters:
        tagOpt - the TagOpt
        Returns:
        this
      • setInitialBranch

        public FetchCommand setInitialBranch​(String branch)
        Set the initial branch
        Parameters:
        branch - the initial branch to check out when cloning the repository. Can be specified as ref name (refs/heads/master), branch name (master) or tag name (v1.2.3). The default is to use the branch pointed to by the cloned repository's HEAD and can be requested by passing null or HEAD.
        Returns:
        this
        Since:
        5.11
      • setCallback

        public FetchCommand setCallback​(FetchCommand.Callback callback)
        Register a progress callback.
        Parameters:
        callback - the callback
        Returns:
        this
        Since:
        4.8
      • isForceUpdate

        public boolean isForceUpdate()
        Whether fetch --force option is enabled
        Returns:
        whether refs affected by the fetch are updated forcefully
        Since:
        5.0
      • setForceUpdate

        public FetchCommand setForceUpdate​(boolean force)
        Set fetch --force option
        Parameters:
        force - whether to update refs affected by the fetch forcefully
        Returns:
        this command
        Since:
        5.0
      • setDepth

        public FetchCommand setDepth​(int depth)
        Limits fetching to the specified number of commits from the tip of each remote branch history.
        Parameters:
        depth - the depth
        Returns:
        this
        Since:
        6.3
      • setShallowSince

        public FetchCommand setShallowSince​(@NonNull
                                            OffsetDateTime shallowSince)
        Deepens or shortens the history of a shallow repository to include all reachable commits after a specified time.
        Parameters:
        shallowSince - the timestammp; must not be null
        Returns:
        this
        Since:
        6.3
      • setShallowSince

        public FetchCommand setShallowSince​(@NonNull
                                            Instant shallowSince)
        Deepens or shortens the history of a shallow repository to include all reachable commits after a specified time.
        Parameters:
        shallowSince - the timestammp; must not be null
        Returns:
        this
        Since:
        6.3
      • addShallowExclude

        public FetchCommand addShallowExclude​(@NonNull
                                              String shallowExclude)
        Deepens or shortens the history of a shallow repository to exclude commits reachable from a specified remote branch or tag.
        Parameters:
        shallowExclude - the ref or commit; must not be null
        Returns:
        this
        Since:
        6.3
      • addShallowExclude

        public FetchCommand addShallowExclude​(@NonNull
                                              ObjectId shallowExclude)
        Creates a shallow clone with a history, excluding commits reachable from a specified remote branch or tag.
        Parameters:
        shallowExclude - the commit; must not be null
        Returns:
        this
        Since:
        6.3
      • setUnshallow

        public FetchCommand setUnshallow​(boolean unshallow)
        If the source repository is complete, converts a shallow repository to a complete one, removing all the limitations imposed by shallow repositories. If the source repository is shallow, fetches as much as possible so that the current repository has the same history as the source repository.
        Parameters:
        unshallow - whether to unshallow or not
        Returns:
        this
        Since:
        6.3