Class CloneCommand

    • Constructor Detail

      • CloneCommand

        public CloneCommand()
        Create clone command with no repository set
    • Method Detail

      • setURI

        public CloneCommand setURI​(String uri)
        Parameters:
        uri - the uri to clone from
        Returns:
        this instance
      • setDirectory

        public CloneCommand setDirectory​(File directory)
        The optional directory associated with the clone operation. If the directory isn't set, a name associated with the source uri will be used.
        Parameters:
        directory - the directory to clone to
        Returns:
        this instance
        Throws:
        IllegalStateException - if the combination of directory, gitDir and bare is illegal. E.g. if for a non-bare repository directory and gitDir point to the same directory of if for a bare repository both directory and gitDir are specified
        See Also:
        URIish.getHumanishName()
      • setGitDir

        public CloneCommand setGitDir​(File gitDir)
        Parameters:
        gitDir - the repository meta directory
        Returns:
        this instance
        Throws:
        IllegalStateException - if the combination of directory, gitDir and bare is illegal. E.g. if for a non-bare repository directory and gitDir point to the same directory of if for a bare repository both directory and gitDir are specified
        Since:
        3.6
      • setBare

        public CloneCommand setBare​(boolean bare)
                             throws IllegalStateException
        Parameters:
        bare - whether the cloned repository is bare or not
        Returns:
        this instance
        Throws:
        IllegalStateException - if the combination of directory, gitDir and bare is illegal. E.g. if for a non-bare repository directory and gitDir point to the same directory of if for a bare repository both directory and gitDir are specified
      • setRemote

        public CloneCommand setRemote​(String remote)
        The remote name used to keep track of the upstream repository for the clone operation. If no remote name is set, the default value of Constants.DEFAULT_REMOTE_NAME will be used.
        Parameters:
        remote - name that keeps track of the upstream repository
        Returns:
        this instance
        See Also:
        Constants.DEFAULT_REMOTE_NAME
      • setBranch

        public CloneCommand setBranch​(String 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).
        Returns:
        this instance
      • setProgressMonitor

        public CloneCommand setProgressMonitor​(ProgressMonitor monitor)
        The progress monitor associated with the clone operation. By default, this is set to NullProgressMonitor
        Parameters:
        monitor -
        Returns:
        this
        See Also:
        NullProgressMonitor
      • setCloneAllBranches

        public CloneCommand setCloneAllBranches​(boolean cloneAllBranches)
        Parameters:
        cloneAllBranches - true when all branches have to be fetched (indicates wildcard in created fetch refspec), false otherwise.
        Returns:
        this
      • setCloneSubmodules

        public CloneCommand setCloneSubmodules​(boolean cloneSubmodules)
        Parameters:
        cloneSubmodules - true to initialize and update submodules. Ignored when setBare(boolean) is set to true.
        Returns:
        this
      • setBranchesToClone

        public CloneCommand setBranchesToClone​(Collection<String> branchesToClone)
        Parameters:
        branchesToClone - collection of branches to clone. Ignored when allSelected is true. Must be specified as full ref names (e.g. refs/heads/master).
        Returns:
        this
      • setNoCheckout

        public CloneCommand setNoCheckout​(boolean noCheckout)
        Parameters:
        noCheckout - if set to true no branch will be checked out after the clone. This enhances performance of the clone command when there is no need for a checked out branch.
        Returns:
        this