public CloneRequestImpl(org.eclipse.che.api.git.shared.CloneRequest origin) { this.remoteUri = origin.getRemoteUri(); this.recursive = origin.isRecursive(); this.password = origin.getPassword(); java.util.List<java.lang.String> branchesToFetchIn = origin.getBranchesToFetch(); if (branchesToFetchIn != null) { java.util.List<java.lang.String> branchesToFetchOut = new java.util.ArrayList<java.lang.String>(); for (java.lang.String branchesToFetchIn_ : branchesToFetchIn) { branchesToFetchOut.add(branchesToFetchIn_); } this.branchesToFetch = branchesToFetchOut; } this.timeout = origin.getTimeout(); this.remoteName = origin.getRemoteName(); this.workingDir = origin.getWorkingDir(); this.username = origin.getUsername(); }
@Override public Promise<Void> clone(Path project, String remoteUri, String remoteName) { CloneRequest cloneRequest = dtoFactory .createDto(CloneRequest.class) .withRemoteName(remoteName) .withRemoteUri(remoteUri) .withWorkingDir(project.toString()); String params = "?projectPath=" + encodePath(project); String url = CLONE + params; return asyncRequestFactory.createPostRequest(url, cloneRequest).loader(loader).send(); }
LOG.info( "Repository clone from '" + request.getRemoteUri() + "' to '" + request.getWorkingDir() + "' started"); GitConnection gitConnection = getGitConnection(); try { gitConnection.clone( CloneParams.create(request.getRemoteUri()) .withWorkingDir(getAbsoluteProjectPath(request.getWorkingDir())) .withBranchesToFetch(request.getBranchesToFetch()) .withRemoteName(request.getRemoteName()) .withTimeout(request.getTimeout()) .withUsername(request.getUsername()) .withPassword(request.getPassword())); return newDto(RepoInfo.class).withRemoteUri(request.getRemoteUri()); } finally { long end = System.currentTimeMillis(); LOG.info( "Repository clone from '" + request.getRemoteUri() + "' to '" + request.getWorkingDir() + "' finished. Process took " + seconds