@Before
  public void before() throws Exception {
    repositoryFile = createProjectAndCommitToRepository();
    remoteRepositoryFile = createRemoteRepository(repositoryFile);
    // now let's clone the remote repository
    URIish uri = new URIish("file:///" + remoteRepositoryFile.getPath());
    File workdir = new File(getTestDirectory(), "ClonedRepo");

    CloneOperation op =
        new CloneOperation(uri, true, null, workdir, "refs/heads/master", "origin", 0);
    op.run(null);

    clonedRepositoryFile = new File(workdir, Constants.DOT_GIT);

    // now let's clone the remote repository
    uri = new URIish(remoteRepositoryFile.getPath());
    workdir = new File(getTestDirectory(), "ClonedRepo2");

    op = new CloneOperation(uri, true, null, workdir, "refs/heads/master", "origin", 0);
    op.run(null);

    clonedRepositoryFile2 = new File(workdir, Constants.DOT_GIT);

    clearView();
    deleteAllProjects();
  }
  @Override
  @Before
  public void beforeTestCase() throws Exception {
    workdir = testUtils.createTempDir("Repository1");
    workdir2 = testUtils.createTempDir("Repository2");

    repository1 = new TestRepository(new File(workdir, DOT_GIT));

    repository1.createInitialCommit("setUp");

    Repository repository = repository1.getRepository();
    new InitOperation(repository).execute(null);

    // now we create a project in repo1
    IProject project = testUtils.createProjectInLocalFileSystem(workdir, projectName);
    testUtils.addFileToProject(project, "folder1/file1.txt", "Hello world");

    repository1.connect(project);
    repository1.trackAllFiles(project);
    repository1.commit("Initial commit");

    // let's get rid of the project
    project.delete(false, false, null);

    // let's clone repository1 to repository2
    URIish uri = repository1.getUri();
    CloneOperation clop =
        new CloneOperation(uri, true, null, workdir2, R_HEADS + MY_MASTER, DEFAULT_REMOTE_NAME, 0);
    clop.run(null);

    Repository repo2 =
        Activator.getDefault().getRepositoryCache().lookupRepository(new File(workdir2, DOT_GIT));
    repository2 = new TestRepository(repo2);
  }
Exemple #3
0
  private IStatus executeCloneOperation(final CloneOperation op, final IProgressMonitor monitor)
      throws InvocationTargetException, InterruptedException {

    final RepositoryUtil util = Activator.getDefault().getRepositoryUtil();

    op.run(monitor);
    util.addConfiguredRepository(op.getGitDir());
    return Status.OK_STATUS;
  }
 public static void cloneRepository(
     String uri,
     String remoteName,
     File destination,
     PostCloneTask postCloneTask,
     IProgressMonitor monitor)
     throws URISyntaxException, InvocationTargetException, InterruptedException {
   URIish gitUri = new URIish(uri);
   CloneOperation cloneOperation =
       new CloneOperation(
           gitUri, true, null, destination, Constants.HEAD, remoteName, CLONE_TIMEOUT);
   if (postCloneTask != null) {
     cloneOperation.addPostCloneTask(postCloneTask);
   }
   cloneOperation.run(monitor);
   // RepositoryUtil repositoryUtil =
   // Activator.getDefault().getRepositoryUtil();
   // repositoryUtil.addConfiguredRepository(new File(destination,
   // Constants.DOT_GIT));
 }