|
|
|
@ -78,6 +78,7 @@ import org.eclipse.jgit.transport.RemoteConfig;
|
|
|
|
|
import org.eclipse.jgit.transport.TagOpt; |
|
|
|
|
import org.eclipse.jgit.transport.URIish; |
|
|
|
|
import org.eclipse.jgit.util.FileUtils; |
|
|
|
|
import org.eclipse.jgit.util.FS; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Clone a repository into a new working directory |
|
|
|
@ -95,6 +96,8 @@ public class CloneCommand extends TransportCommand<CloneCommand, Git> {
|
|
|
|
|
|
|
|
|
|
private boolean bare; |
|
|
|
|
|
|
|
|
|
private FS fs; |
|
|
|
|
|
|
|
|
|
private String remote = Constants.DEFAULT_REMOTE_NAME; |
|
|
|
|
|
|
|
|
|
private String branch = Constants.HEAD; |
|
|
|
@ -259,6 +262,9 @@ public class CloneCommand extends TransportCommand<CloneCommand, Git> {
|
|
|
|
|
private Repository init() throws GitAPIException { |
|
|
|
|
InitCommand command = Git.init(); |
|
|
|
|
command.setBare(bare); |
|
|
|
|
if (fs != null) { |
|
|
|
|
command.setFs(fs); |
|
|
|
|
} |
|
|
|
|
if (directory != null) { |
|
|
|
|
command.setDirectory(directory); |
|
|
|
|
} |
|
|
|
@ -518,6 +524,20 @@ public class CloneCommand extends TransportCommand<CloneCommand, Git> {
|
|
|
|
|
return this; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Set the file system abstraction to be used for repositories created by |
|
|
|
|
* this command. |
|
|
|
|
* |
|
|
|
|
* @param fs |
|
|
|
|
* the abstraction. |
|
|
|
|
* @return {@code this} (for chaining calls). |
|
|
|
|
* @since 4.10 |
|
|
|
|
*/ |
|
|
|
|
public CloneCommand setFs(FS fs) { |
|
|
|
|
this.fs = fs; |
|
|
|
|
return this; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 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 |
|
|
|
|