Esempio n. 1
0
  @Test
  public void testCleanWithPaths() throws NoWorkTreeException, GitAPIException {
    // create status
    StatusCommand command = git.status();
    Status status = command.call();
    Set<String> files = status.getUntracked();
    assertTrue(files.size() > 0);

    // run clean with setPaths
    Set<String> paths = new TreeSet<String>();
    paths.add("File3.txt");
    Set<String> cleanedFiles = git.clean().setPaths(paths).call();

    status = git.status().call();
    files = status.getUntracked();
    assertTrue(files.size() == 3);
    assertTrue(cleanedFiles.contains("File3.txt"));
    assertFalse(cleanedFiles.contains("File2.txt"));
  }
Esempio n. 2
0
  @Test
  public void testCleanWithDryRun() throws NoWorkTreeException, GitAPIException {
    // create status
    StatusCommand command = git.status();
    Status status = command.call();
    Set<String> files = status.getUntracked();
    assertTrue(files.size() > 0);

    // run clean
    Set<String> cleanedFiles = git.clean().setDryRun(true).call();

    status = git.status().call();
    files = status.getUntracked();

    assertEquals(4, files.size());
    assertTrue(cleanedFiles.contains("File2.txt"));
    assertTrue(cleanedFiles.contains("File3.txt"));
    assertTrue(!cleanedFiles.contains("sub-noclean/File1.txt"));
    assertTrue(cleanedFiles.contains("sub-noclean/File2.txt"));
  }
Esempio n. 3
0
  @Test
  public void testClean() throws NoWorkTreeException, GitAPIException {
    // create status
    StatusCommand command = git.status();
    Status status = command.call();
    Set<String> files = status.getUntracked();
    assertTrue(files.size() > 0);

    // run clean
    Set<String> cleanedFiles = git.clean().call();

    status = git.status().call();
    files = status.getUntracked();

    assertTrue(files.size() == 1); // one remains (directories not cleaned)
    assertTrue(cleanedFiles.contains("File2.txt"));
    assertTrue(cleanedFiles.contains("File3.txt"));
    assertTrue(!cleanedFiles.contains("sub-noclean/File1.txt"));
    assertTrue(cleanedFiles.contains("sub-noclean/File2.txt"));
    assertTrue(!cleanedFiles.contains("sub-clean/File4.txt"));
  }
Esempio n. 4
0
  @Test
  public void testCleanDirsWithRepository() throws Exception {
    // Set up a repository inside the outer repository
    String innerRepoName = "inner-repo";
    File innerDir = new File(trash, innerRepoName);
    innerDir.mkdir();
    InitCommand initRepoCommand = new InitCommand();
    initRepoCommand.setDirectory(innerDir);
    initRepoCommand.call();

    Status beforeCleanStatus = git.status().call();
    Set<String> untrackedFolders = beforeCleanStatus.getUntrackedFolders();
    Set<String> untrackedFiles = beforeCleanStatus.getUntracked();

    // The inner repository should be listed as an untracked file
    assertTrue(untrackedFiles.contains(innerRepoName));

    // The inner repository should not be listed as an untracked folder
    assertTrue(!untrackedFolders.contains(innerRepoName));

    Set<String> cleanedFiles = git.clean().setCleanDirectories(true).call();

    // The inner repository should not be cleaned.
    assertTrue(!cleanedFiles.contains(innerRepoName + "/"));

    assertTrue(cleanedFiles.contains("File2.txt"));
    assertTrue(cleanedFiles.contains("File3.txt"));
    assertTrue(!cleanedFiles.contains("sub-noclean/File1.txt"));
    assertTrue(cleanedFiles.contains("sub-noclean/File2.txt"));
    assertTrue(cleanedFiles.contains("sub-clean/"));
    assertTrue(cleanedFiles.size() == 4);

    Set<String> forceCleanedFiles = git.clean().setCleanDirectories(true).setForce(true).call();

    // The inner repository should be cleaned this time
    assertTrue(forceCleanedFiles.contains(innerRepoName + "/"));
  }