org.netbeans.libs.git.GitClient.add() - java examples

Here are the examples of the java api org.netbeans.libs.git.GitClient.add() taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

67 Examples 7

19 View Complete Implementation : CommitTest.java
Copyright Apache License 2.0
Author : apache
public void testCommitNoRoots() throws Exception {
    File toCommit = new File(workDir, "testnotadd.txt");
    write(toCommit, "blablabla");
    GitClient client = getClient(workDir);
    Map<File, GitStatus> statuses = client.getStatus(new File[] { toCommit }, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, toCommit, false, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_ADDED, false);
    client.add(new File[] { toCommit }, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(new File[] { toCommit }, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, toCommit, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
    GitRevisionInfo info = client.commit(new File[0], "initial commit", null, null, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(new File[] { toCommit }, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, toCommit, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    Git git = new Git(repository);
    LogCommand log = git.log();
    RevCommit com = log.call().iterator().next();
    replacedertEquals("initial commit", info.getFullMessage());
    replacedertEquals("initial commit", com.getFullMessage());
    replacedertEquals(ObjectId.toString(com.getId()), info.getRevision());
    Map<File, GitFileInfo> modifiedFiles = info.getModifiedFiles();
    replacedertTrue(modifiedFiles.get(toCommit).getStatus().equals(Status.ADDED));
}

19 View Complete Implementation : RemotesTest.java
Copyright Apache License 2.0
Author : apache
public void testRemoveRemote() throws Exception {
    File otherWT = new File(workDir.getParentFile(), "repo2");
    GitClient client = getClient(otherWT);
    client.init(NULL_PROGRESS_MONITOR);
    File f = new File(otherWT, "f");
    write(f, "init");
    client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
    client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    RemoteConfig cfg = new RemoteConfig(repository.getConfig(), "origin");
    cfg.addURI(new URIish(otherWT.toURI().toURL().toString()));
    cfg.addFetchRefSpec(new RefSpec("+refs/heads/*:refs/remotes/origin/*"));
    cfg.update(repository.getConfig());
    repository.getConfig().save();
    client = getClient(workDir);
    client.fetch("origin", NULL_PROGRESS_MONITOR);
    client.createBranch("master", "origin/master", NULL_PROGRESS_MONITOR);
    client.createBranch("nova", "origin/master", NULL_PROGRESS_MONITOR);
    StoredConfig config = repository.getConfig();
    replacedertEquals("+refs/heads/*:refs/remotes/origin/*", config.getString("remote", "origin", "fetch"));
    replacedertEquals("origin", config.getString("branch", "master", "remote"));
    replacedertEquals("refs/heads/master", config.getString("branch", "master", "merge"));
    replacedertEquals("origin", config.getString("branch", "nova", "remote"));
    replacedertEquals("refs/heads/master", config.getString("branch", "nova", "merge"));
    // now try to remove the remote
    client.removeRemote("origin", NULL_PROGRESS_MONITOR);
    config = repository.getConfig();
    config.load();
    // is everything deleted?
    replacedertEquals(0, config.getSubsections("remote").size());
    replacedertNull(config.getString("branch", "master", "remote"));
    replacedertNull(config.getString("branch", "master", "merge"));
    replacedertNull(config.getString("branch", "nova", "remote"));
    replacedertNull(config.getString("branch", "nova", "merge"));
}

19 View Complete Implementation : CheckoutTest.java
Copyright Apache License 2.0
Author : apache
public void testCheckoutWithAddedNestedRoot() throws Exception {
    File f = new File(workDir, "f");
    write(f, "file");
    GitClient client = getClient(workDir);
    client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
    client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    client.createBranch(BRANCH, "master", NULL_PROGRESS_MONITOR);
    File nested = new File(workDir, "nested");
    nested.mkdirs();
    File f2 = new File(nested, "f");
    write(f2, "file");
    GitClient clientNested = getClient(nested);
    clientNested.init(NULL_PROGRESS_MONITOR);
    clientNested.add(new File[] { f2 }, NULL_PROGRESS_MONITOR);
    clientNested.commit(new File[] { f2 }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    // add the root as gitlink
    client.add(new File[] { nested }, NULL_PROGRESS_MONITOR);
    client.commit(new File[] { nested }, "nested repo added", null, null, NULL_PROGRESS_MONITOR);
    Utils.deleteRecursively(nested);
    nested.mkdirs();
    Map<File, GitStatus> statuses = client.getStatus(new File[] { nested }, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, statuses.size());
    replacedertStatus(statuses, workDir, nested, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    client.checkoutRevision(BRANCH, true, NULL_PROGRESS_MONITOR);
    replacedertFalse(nested.isDirectory());
    statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, statuses.size());
    replacedertStatus(statuses, workDir, f, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    // ours
    replacedertFalse(nested.isDirectory());
    client.checkoutRevision("master", true, NULL_PROGRESS_MONITOR);
    replacedertTrue(nested.isDirectory());
    DirCacheEntry e = repository.readDirCache().getEntry("nested");
    replacedertEquals(FileMode.GITLINK, e.getFileMode());
    statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    replacedertEquals(2, statuses.size());
    replacedertStatus(statuses, workDir, f, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, nested, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    // checkout index - aka revert
    replacedertTrue(nested.delete());
    client.remove(new File[] { nested }, true, NULL_PROGRESS_MONITOR);
    client.checkout(new File[] { nested }, "master", true, NULL_PROGRESS_MONITOR);
    replacedertTrue(nested.isDirectory());
    e = repository.readDirCache().getEntry("nested");
    replacedertEquals(FileMode.GITLINK, e.getFileMode());
    statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    replacedertEquals(2, statuses.size());
    replacedertStatus(statuses, workDir, f, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, nested, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
}

19 View Complete Implementation : CommitTest.java
Copyright Apache License 2.0
Author : apache
public void testMultipleTreesCommit() throws Exception {
    File folder1 = new File(workDir, "folder1");
    File subfolder11 = new File(folder1, "subfolder1");
    File subfolder12 = new File(folder1, "subfolder2");
    subfolder11.mkdirs();
    subfolder12.mkdirs();
    File file11 = new File(subfolder11, "file1");
    File file12 = new File(subfolder12, "file2");
    write(file11, "file1 content");
    write(file12, "file2 content");
    File folder2 = new File(workDir, "folder2");
    File subfolder21 = new File(folder2, "subfolder1");
    File subfolder22 = new File(folder2, "subfolder2");
    subfolder21.mkdirs();
    subfolder22.mkdirs();
    File file21 = new File(subfolder21, "file1");
    File file22 = new File(subfolder22, "file2");
    write(file21, "file1 content");
    write(file22, "file2 content");
    File[] files = new File[] { folder1, folder2 };
    GitClient client = getClient(workDir);
    client.add(files, NULL_PROGRESS_MONITOR);
    GitRevisionInfo info = client.commit(files, "initial commit", null, null, NULL_PROGRESS_MONITOR);
    Map<File, GitFileInfo> modifiedFiles = info.getModifiedFiles();
    replacedertEquals(4, modifiedFiles.size());
    Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file11, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file12, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file21, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file22, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    Git git = new Git(repository);
    LogCommand log = git.log();
    RevCommit com = log.call().iterator().next();
    replacedertEquals("initial commit", com.getFullMessage());
    write(file11, "!modification!");
    write(file12, "another modification!");
    write(file21, "!modification!");
    write(file22, "another modification!");
    client.add(files, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file11, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    replacedertStatus(statuses, workDir, file12, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    replacedertStatus(statuses, workDir, file21, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    replacedertStatus(statuses, workDir, file22, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    client.commit(files, "second commit", null, null, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file11, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file12, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file21, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file22, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    log = git.log();
    com = log.call().iterator().next();
    replacedertEquals("second commit", com.getFullMessage());
}

19 View Complete Implementation : CleanTest.java
Copyright Apache License 2.0
Author : apache
// must not return status for nested repositories
public void testCleanNested() throws Exception {
    File f = new File(workDir, "f");
    write(f, "file");
    GitClient client = getClient(workDir);
    client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
    client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    File nested = new File(workDir, "nested");
    nested.mkdirs();
    File f2 = new File(nested, "f");
    write(f2, "file");
    GitClient clientNested = getClient(nested);
    clientNested.init(NULL_PROGRESS_MONITOR);
    client.clean(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    Map<File, GitStatus> statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    replacedertEquals(2, statuses.size());
    replacedertStatus(statuses, workDir, f, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, nested, false, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_ADDED, false);
    statuses = clientNested.getStatus(new File[] { nested }, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, statuses.size());
    replacedertStatus(statuses, nested, f2, false, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_ADDED, false);
}

19 View Complete Implementation : BranchTest.java
Copyright Apache License 2.0
Author : apache
public void testDeleteTrackedBranch() throws Exception {
    final File otherWT = new File(workDir.getParentFile(), "repo2");
    GitClient client = getClient(otherWT);
    client.init(NULL_PROGRESS_MONITOR);
    File f = new File(otherWT, "f");
    write(f, "init");
    client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
    client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    client = getClient(workDir);
    client.setRemote(new GitRemoteConfig("origin", Arrays.asList(new String[] { otherWT.getAbsolutePath() }), Arrays.asList(new String[] { otherWT.getAbsolutePath() }), Arrays.asList(new String[] { "refs/heads/*:refs/remotes/origin/*" }), Arrays.asList(new String[] { "refs/remotes/origin/*:refs/heads/*" })), NULL_PROGRESS_MONITOR);
    client.fetch("origin", NULL_PROGRESS_MONITOR);
    client.checkoutRevision("origin/master", true, NULL_PROGRESS_MONITOR);
    GitBranch b = client.createBranch(BRANCH_NAME, "origin/master", NULL_PROGRESS_MONITOR);
    Map<String, GitBranch> branches = client.getBranches(false, NULL_PROGRESS_MONITOR);
    replacedertEquals(2, branches.size());
    replacedertNotNull(branches.get(BRANCH_NAME));
    replacedertEquals(1, repository.getConfig().getSubsections(ConfigConstants.CONFIG_BRANCH_SECTION).size());
    // delete tracked branch and test
    client.deleteBranch(BRANCH_NAME, false, NULL_PROGRESS_MONITOR);
    branches = client.getBranches(false, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, branches.size());
    replacedertNull(branches.get(BRANCH_NAME));
    replacedertEquals(0, repository.getConfig().getSubsections(ConfigConstants.CONFIG_BRANCH_SECTION).size());
}

19 View Complete Implementation : MergeTest.java
Copyright Apache License 2.0
Author : apache
public void testMergeBranchNoHeadYet_196837() throws Exception {
    StoredConfig cfg = getRemoteRepository().getConfig();
    cfg.setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_BARE, false);
    cfg.save();
    File otherRepo = getRemoteRepository().getWorkTree();
    File original = new File(otherRepo, "f");
    GitClient clientOtherRepo = getClient(otherRepo);
    write(original, "initial content");
    clientOtherRepo.add(new File[] { original }, NULL_PROGRESS_MONITOR);
    clientOtherRepo.commit(new File[] { original }, "initial commit", null, null, NULL_PROGRESS_MONITOR);
    GitClient client = getClient(workDir);
    Map<String, GitTransportUpdate> updates = client.fetch(otherRepo.toURI().toString(), Arrays.asList(new String[] { "+refs/heads/master:refs/remotes/origin/master" }), NULL_PROGRESS_MONITOR);
    GitMergeResult result = client.merge("origin/master", NULL_PROGRESS_MONITOR);
    replacedertEquals(MergeStatus.FAST_FORWARD, result.getMergeStatus());
    replacedertEquals(Arrays.asList(new String[] { ObjectId.zeroId().getName(), updates.get("origin/master").getNewObjectId() }), Arrays.asList(result.getMergedCommits()));
}

19 View Complete Implementation : AddTest.java
Copyright Apache License 2.0
Author : apache
public void testAddFileToNonEmptyIndex() throws Exception {
    File file = new File(workDir, "file");
    file.createNewFile();
    File file2 = new File(workDir, "file2");
    file2.createNewFile();
    File file3 = new File(workDir, "file3");
    file3.createNewFile();
    replacedertNullDirCacheEntry(Arrays.asList(file, file2, file3));
    GitClient client = getClient(workDir);
    Monitor m = new Monitor();
    client.addNotificationListener(m);
    client.add(new File[] { file }, m);
    replacedertEquals(Collections.singleton(file), m.notifiedFiles);
    replacedertDirCacheSize(1);
    replacedertDirCacheEntry(Arrays.asList(file));
    replacedertNullDirCacheEntry(Arrays.asList(file2, file3));
    m = new Monitor();
    client.addNotificationListener(m);
    client.add(new File[] { file2 }, m);
    replacedertEquals(Collections.singleton(file2), m.notifiedFiles);
    replacedertDirCacheSize(2);
    replacedertDirCacheEntry(Arrays.asList(file, file2));
    replacedertNullDirCacheEntry(Arrays.asList(file3));
    m = new Monitor();
    client.addNotificationListener(m);
    client.add(new File[] { file, file2 }, m);
    replacedertEquals(Collections.<File>emptySet(), m.notifiedFiles);
    replacedertDirCacheSize(2);
    replacedertDirCacheEntry(Arrays.asList(file, file2));
    replacedertNullDirCacheEntry(Arrays.asList(file3));
}

19 View Complete Implementation : ResetTest.java
Copyright Apache License 2.0
Author : apache
public void testResetPaths_NonRecursive() throws Exception {
    File folder = new File(workDir, "folder");
    folder.mkdirs();
    // index entry will be modified
    File file1 = new File(folder, "file1");
    write(file1, "blablablabla");
    File subfolder = new File(folder, "subfolder");
    subfolder.mkdirs();
    // index entry will be left alone
    File file2 = new File(subfolder, "file2");
    write(file2, "blablablabla in file2");
    File[] files = new File[] { file1, file2 };
    add(files);
    commit(files);
    GitClient client = getClient(workDir);
    Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertEquals(2, statuses.size());
    replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file2, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
    String content = "change in content";
    write(file1, content);
    write(file2, content);
    client.add(files, NULL_PROGRESS_MONITOR);
    // children
    client.reset(new File[] { folder }, "HEAD", false, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertEquals(2, statuses.size());
    replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
    replacedertStatus(statuses, workDir, file2, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
    write(file1, content);
    // recursive
    client.reset(new File[] { folder }, "HEAD", true, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertEquals(2, statuses.size());
    replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
    replacedertStatus(statuses, workDir, file2, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
    write(file1, content);
    add(file1);
    // non recursive on file
    client.reset(new File[] { file1 }, "HEAD", false, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertEquals(2, statuses.size());
    replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
}

19 View Complete Implementation : AddTest.java
Copyright Apache License 2.0
Author : apache
public void testAddFolder() throws Exception {
    File file = new File(workDir, "file");
    write(file, "file");
    File folder1 = new File(workDir, "folder1");
    folder1.mkdirs();
    File file1_1 = new File(folder1, "file1");
    write(file1_1, "file1_1");
    File file1_2 = new File(folder1, "file2");
    write(file1_2, "file1_2");
    File subfolder1 = new File(folder1, "subfolder");
    subfolder1.mkdirs();
    File file1_1_1 = new File(subfolder1, "file1");
    write(file1_1_1, "file1_1_1");
    File file1_1_2 = new File(subfolder1, "file2");
    write(file1_1_2, "file1_1_2");
    File folder2 = new File(workDir, "folder2");
    folder2.mkdirs();
    File file2_1 = new File(folder2, "file1");
    write(file2_1, "file2_1");
    File file2_2 = new File(folder2, "file2");
    write(file2_2, "file2_2");
    File subfolder2 = new File(folder2, "subfolder");
    subfolder2.mkdirs();
    File file2_1_1 = new File(subfolder2, "file1");
    write(file2_1_1, "file2_1_1");
    File file2_1_2 = new File(subfolder2, "file2");
    write(file2_1_2, "file2_1_2");
    replacedertNullDirCacheEntry(Arrays.asList(file, file1_1, file1_2, file1_1_1, file1_1_2, file2_1, file2_2, file2_1_1, file2_1_2));
    GitClient client = getClient(workDir);
    Monitor m = new Monitor();
    client.addNotificationListener(m);
    client.add(new File[] { subfolder1 }, m);
    replacedertEquals(new HashSet<>(Arrays.asList(file1_1_1, file1_1_2)), m.notifiedFiles);
    replacedertDirCacheSize(2);
    replacedertDirCacheEntry(Arrays.asList(file1_1_1, file1_1_2));
    replacedertNullDirCacheEntry(Arrays.asList(file, file1_1, file1_2, file2_1, file2_2, file2_1_1, file2_1_2));
    m = new Monitor();
    client.addNotificationListener(m);
    client.add(new File[] { folder1 }, m);
    replacedertEquals(new HashSet<>(Arrays.asList(file1_1, file1_2)), m.notifiedFiles);
    replacedertDirCacheSize(4);
    replacedertDirCacheEntry(Arrays.asList(file1_1, file1_2, file1_1_1, file1_1_2));
    replacedertNullDirCacheEntry(Arrays.asList(file, file2_1, file2_1_1, file2_1_2));
    m = new Monitor();
    client.addNotificationListener(m);
    client.add(new File[] { folder2 }, m);
    replacedertEquals(new HashSet<>(Arrays.asList(file2_1, file2_2, file2_1_1, file2_1_2)), m.notifiedFiles);
    replacedertDirCacheSize(8);
    replacedertDirCacheEntry(Arrays.asList(file1_1, file1_2, file1_1_1, file1_1_2, file2_1, file2_2, file2_1_1, file2_1_2));
}

19 View Complete Implementation : CommitTest.java
Copyright Apache License 2.0
Author : apache
public void testCommitOnlySomeOfAllFiles() throws Exception {
    File file1 = new File(workDir, "file1");
    write(file1, "file1 content");
    File file2 = new File(workDir, "file2");
    write(file2, "file2 content");
    File[] files = new File[] { file1, file2 };
    GitClient client = getClient(workDir);
    client.add(files, NULL_PROGRESS_MONITOR);
    GitRevisionInfo info = client.commit(new File[] { file1 }, "initial commit", null, null, NULL_PROGRESS_MONITOR);
    Map<File, GitFileInfo> modifiedFiles = info.getModifiedFiles();
    replacedertEquals(1, modifiedFiles.size());
    replacedertTrue(modifiedFiles.get(file1).getStatus().equals(Status.ADDED));
    Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    // file1 should be up to date
    replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    // but file2 should still be staged for commit
    replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
    info = client.commit(new File[] { file2 }, "initial commit", null, null, NULL_PROGRESS_MONITOR);
    modifiedFiles = info.getModifiedFiles();
    replacedertEquals(1, modifiedFiles.size());
    replacedertTrue(modifiedFiles.get(file2).getStatus().equals(Status.ADDED));
    write(file1, "file1 content changed");
    write(file2, "file2 content changed");
    client.add(new File[] { file1 }, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
    info = client.commit(new File[] { file1 }, "change in content", null, null, NULL_PROGRESS_MONITOR);
    modifiedFiles = info.getModifiedFiles();
    replacedertEquals(1, modifiedFiles.size());
    replacedertTrue(modifiedFiles.get(file1).getStatus().equals(Status.MODIFIED));
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    // file1 should be up to date
    replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    // but file2 was not staged
    replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
    write(file1, "file1 content changed again");
    write(file2, "file2 content changed again");
    client.add(new File[] { file1, file2 }, NULL_PROGRESS_MONITOR);
    write(file2, "file2 content changed again and again");
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
    info = client.commit(new File[] { file1 }, "another change in content", null, null, NULL_PROGRESS_MONITOR);
    modifiedFiles = info.getModifiedFiles();
    replacedertEquals(1, modifiedFiles.size());
    replacedertTrue(modifiedFiles.get(file1).getStatus().equals(Status.MODIFIED));
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    // file1 should be up to date
    replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    // but file2 should still be staged for commit
    replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
    write(file1, "file1 content changed again and again");
    client.add(new File[] { file1 }, NULL_PROGRESS_MONITOR);
    client.remove(new File[] { file2 }, true, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_REMOVED, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_MODIFIED, false);
    info = client.commit(new File[] { file1 }, "another change in content", null, null, NULL_PROGRESS_MONITOR);
    modifiedFiles = info.getModifiedFiles();
    replacedertEquals(1, modifiedFiles.size());
    replacedertTrue(modifiedFiles.get(file1).getStatus().equals(Status.MODIFIED));
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    // file1 should be up to date
    replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    // but file2 should still be staged for commit
    replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_REMOVED, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_MODIFIED, false);
}

19 View Complete Implementation : CleanTest.java
Copyright Apache License 2.0
Author : apache
public void testCleanAddedTree() throws Exception {
    File folder = new File(workDir, "folder");
    folder.mkdirs();
    File folder1 = new File(folder, "folder1");
    folder1.mkdirs();
    File file11 = new File(folder1, "file11");
    file11.createNewFile();
    File folder2 = new File(folder, "folder2");
    folder2.mkdirs();
    File file21 = new File(folder2, "file21");
    file21.createNewFile();
    replacedertNullDirCacheEntry(Collections.singleton(folder));
    GitClient client = getClient(workDir);
    replacedertTrue(folder.exists());
    client.add(new File[] { file11, file21 }, NULL_PROGRESS_MONITOR);
    replacedertDirCacheEntry(Arrays.asList(new File[] { file11, file21 }));
    Monitor m = new Monitor();
    client.addNotificationListener(m);
    File[] files = new File[] { folder, folder1, folder2, file11, file21 };
    for (File file : files) {
        if (!file.exists()) {
            fail("file does not exist " + file);
        }
    }
    client.clean(new File[] { folder }, m);
    for (File file : files) {
        if (!file.exists()) {
            fail("file does not exist " + file);
        }
    }
    replacedertTrue(m.notifiedFiles.isEmpty());
}

19 View Complete Implementation : BranchTest.java
Copyright Apache License 2.0
Author : apache
public void testListBranches() throws Exception {
    GitClient client = getClient(workDir);
    Map<String, GitBranch> branches = client.getBranches(false, NULL_PROGRESS_MONITOR);
    replacedertEquals(0, branches.size());
    File f = new File(workDir, "file");
    write(f, "hello");
    File[] files = new File[] { f };
    client.add(files, NULL_PROGRESS_MONITOR);
    client.commit(files, "init", null, null, NULL_PROGRESS_MONITOR);
    write(f, "hello again");
    client.commit(files, "change", null, null, NULL_PROGRESS_MONITOR);
    Iterator<RevCommit> it = new Git(repository).log().call().iterator();
    RevCommit info = it.next();
    String commitId = info.getId().getName();
    branches = client.getBranches(true, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, branches.size());
    replacedertEquals("master", branches.get("master").getName());
    replacedertEquals(commitId, branches.get("master").getId());
    replacedertFalse(branches.get("master").isRemote());
    replacedertTrue(branches.get("master").isActive());
    write(new File(workDir, ".git/refs/heads/nova"), commitId);
    branches = client.getBranches(true, NULL_PROGRESS_MONITOR);
    replacedertEquals(2, branches.size());
    replacedertEquals("master", branches.get("master").getName());
    replacedertFalse(branches.get("master").isRemote());
    replacedertTrue(branches.get("master").isActive());
    replacedertEquals(commitId, branches.get("master").getId());
    replacedertEquals("nova", branches.get("nova").getName());
    replacedertFalse(branches.get("nova").isRemote());
    replacedertFalse(branches.get("nova").isActive());
    replacedertEquals(commitId, branches.get("nova").getId());
    Thread.sleep(1100);
    write(new File(workDir, ".git/HEAD"), commitId);
    branches = client.getBranches(true, NULL_PROGRESS_MONITOR);
    replacedertEquals(3, branches.size());
    replacedertEquals(GitBranch.NO_BRANCH, branches.get(GitBranch.NO_BRANCH).getName());
    replacedertFalse(branches.get(GitBranch.NO_BRANCH).isRemote());
    replacedertTrue(branches.get(GitBranch.NO_BRANCH).isActive());
    replacedertEquals(commitId, branches.get(GitBranch.NO_BRANCH).getId());
    replacedertEquals("master", branches.get("master").getName());
    replacedertFalse(branches.get("master").isRemote());
    replacedertFalse(branches.get("master").isActive());
    replacedertEquals("nova", branches.get("nova").getName());
    replacedertFalse(branches.get("nova").isRemote());
    replacedertFalse(branches.get("nova").isActive());
}

19 View Complete Implementation : CommitTest.java
Copyright Apache License 2.0
Author : apache
public void testCommitRemoval() throws Exception {
    File file = new File(workDir, "file");
    write(file, "file1 content");
    File[] files = new File[] { file };
    GitClient client = getClient(workDir);
    client.add(files, NULL_PROGRESS_MONITOR);
    GitRevisionInfo info = client.commit(files, "initial commit", null, null, NULL_PROGRESS_MONITOR);
    Map<File, GitFileInfo> modifiedFiles = info.getModifiedFiles();
    replacedertEquals(1, modifiedFiles.size());
    replacedertTrue(modifiedFiles.get(file).getStatus().equals(Status.ADDED));
    Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    file.delete();
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_REMOVED, GitStatus.Status.STATUS_REMOVED, false);
    // commit should remove file from the repository
    client.remove(files, false, NULL_PROGRESS_MONITOR);
    info = client.commit(files, "deleting file", null, null, NULL_PROGRESS_MONITOR);
    modifiedFiles = info.getModifiedFiles();
    replacedertEquals(1, modifiedFiles.size());
    replacedertTrue(modifiedFiles.get(file).getStatus().equals(Status.REMOVED));
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertNull(statuses.get(file));
}

19 View Complete Implementation : AddTest.java
Copyright Apache License 2.0
Author : apache
public void testAddNested() throws Exception {
    File f = new File(workDir, "f");
    write(f, "file");
    GitClient client = getClient(workDir);
    client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
    client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    Thread.sleep(1100);
    File nested = new File(workDir, "nested");
    nested.mkdirs();
    File f2 = new File(nested, "f");
    write(f2, "file");
    GitClient clientNested = getClient(nested);
    clientNested.init(NULL_PROGRESS_MONITOR);
    clientNested.add(new File[] { f2 }, NULL_PROGRESS_MONITOR);
    clientNested.commit(new File[] { f2 }, "aaa", null, null, NULL_PROGRESS_MONITOR);
    write(f2, "change");
    Thread.sleep(1000);
    client.add(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    Map<File, GitStatus> statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    replacedertEquals(2, statuses.size());
    replacedertStatus(statuses, workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
    // nested should be added as gitlink
    replacedertStatus(statuses, workDir, nested, true, Status.STATUS_ADDED, Status.STATUS_NORMAL, Status.STATUS_ADDED, false);
    DirCacheEntry e = repository.readDirCache().getEntry("nested");
    replacedertEquals(FileMode.GITLINK, e.getFileMode());
    replacedertEquals(nested.length(), e.getLength());
    replacedertNotSame(ObjectId.zeroId().name(), e.getObjectId().getName());
    statuses = clientNested.getStatus(new File[] { nested }, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, statuses.size());
    replacedertStatus(statuses, nested, f2, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
}

19 View Complete Implementation : FetchTest.java
Copyright Apache License 2.0
Author : apache
@Override
protected void setUp() throws Exception {
    super.setUp();
    workDir = getWorkingDirectory();
    repository = getRepository(getLocalGitRepository());
    otherWT = new File(workDir.getParentFile(), "repo2");
    GitClient client = getClient(otherWT);
    client.init(NULL_PROGRESS_MONITOR);
    f = new File(otherWT, "f");
    write(f, "init");
    client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
    masterInfo = client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    branch = client.createBranch(BRANCH_NAME, Constants.MASTER, NULL_PROGRESS_MONITOR);
    RemoteConfig cfg = new RemoteConfig(repository.getConfig(), "origin");
    cfg.addURI(new URIish(otherWT.toURI().toURL().toString()));
    cfg.update(repository.getConfig());
    repository.getConfig().save();
}

19 View Complete Implementation : BranchTest.java
Copyright Apache License 2.0
Author : apache
public void testListRemoteBranches() throws Exception {
    File otherWT = new File(workDir.getParentFile(), "repo2");
    GitClient client = getClient(otherWT);
    client.init(NULL_PROGRESS_MONITOR);
    File f = new File(otherWT, "f");
    write(f, "init");
    client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
    client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    GitBranch branch = client.createBranch(BRANCH_NAME, "master", NULL_PROGRESS_MONITOR);
    write(f, "change on master");
    client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
    GitRevisionInfo master = client.commit(new File[] { f }, "change on master", null, null, NULL_PROGRESS_MONITOR);
    Map<String, GitBranch> remoteBranches = getClient(workDir).listRemoteBranches(otherWT.getAbsolutePath(), NULL_PROGRESS_MONITOR);
    replacedertEquals(2, remoteBranches.size());
    replacedertEquals(branch.getId(), remoteBranches.get(BRANCH_NAME).getId());
    replacedertEquals(master.getRevision(), remoteBranches.get("master").getId());
}

19 View Complete Implementation : PullTest.java
Copyright Apache License 2.0
Author : apache
private String makeLocalChange(File f, String content) throws Exception {
    GitClient client = getClient(workDir);
    write(f, content);
    File[] roots = new File[] { f };
    client.add(roots, NULL_PROGRESS_MONITOR);
    return client.commit(roots, "local change: " + content, null, null, NULL_PROGRESS_MONITOR).getRevision();
}

19 View Complete Implementation : RepositoryInfoTest.java
Copyright Apache License 2.0
Author : apache
public void testRefresh() throws Exception {
    File f = new File(repositoryLocation, "file");
    File[] roots = new File[] { f };
    GitClient client = getClient(repositoryLocation);
    client.add(roots, GitUtils.NULL_PROGRESS_MONITOR);
    GitRevisionInfo revInfo = client.commit(roots, "bla", null, null, GitUtils.NULL_PROGRESS_MONITOR);
    RepositoryInfo info = RepositoryInfo.getInstance(repositoryLocation);
    info.refresh();
    replacedertEquals(revInfo.getRevision(), info.getActiveBranch().getId());
    // test refresh
    write(f, "huhu 1");
    client.add(roots, GitUtils.NULL_PROGRESS_MONITOR);
    revInfo = client.commit(roots, "bla", null, null, GitUtils.NULL_PROGRESS_MONITOR);
    info.refresh();
    replacedertEquals(revInfo.getRevision(), info.getActiveBranch().getId());
}

19 View Complete Implementation : ResetTest.java
Copyright Apache License 2.0
Author : apache
// must not checkout from nested repositories
public void testResetNested() throws Exception {
    File f = new File(workDir, "f");
    write(f, "file");
    GitClient client = getClient(workDir);
    client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
    client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    File nested = new File(workDir, "nested");
    nested.mkdirs();
    File f2 = new File(nested, "f");
    write(f2, "file");
    GitClient clientNested = getClient(nested);
    clientNested.init(NULL_PROGRESS_MONITOR);
    clientNested.add(new File[] { f2 }, NULL_PROGRESS_MONITOR);
    clientNested.commit(new File[] { f2 }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    write(f, "change");
    add(f);
    write(f2, "change");
    clientNested.add(new File[] { f2 }, NULL_PROGRESS_MONITOR);
    client.reset(new File[] { workDir, nested }, "HEAD", true, NULL_PROGRESS_MONITOR);
    Map<File, GitStatus> statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    replacedertEquals(2, statuses.size());
    replacedertStatus(statuses, workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
    replacedertStatus(statuses, workDir, nested, false, Status.STATUS_NORMAL, Status.STATUS_ADDED, Status.STATUS_ADDED, false);
    statuses = clientNested.getStatus(new File[] { nested }, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, statuses.size());
    replacedertStatus(statuses, nested, f2, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
    client.reset("master", ResetType.MIXED, NULL_PROGRESS_MONITOR);
    statuses = clientNested.getStatus(new File[] { nested }, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, statuses.size());
    replacedertStatus(statuses, nested, f2, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
    client.reset("master", ResetType.HARD, NULL_PROGRESS_MONITOR);
    statuses = clientNested.getStatus(new File[] { nested }, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, statuses.size());
    replacedertStatus(statuses, nested, f2, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
}

19 View Complete Implementation : CleanTest.java
Copyright Apache License 2.0
Author : apache
public void testCleanFileAdded() throws Exception {
    File file = new File(workDir, "file");
    file.createNewFile();
    replacedertNullDirCacheEntry(Collections.singleton(file));
    GitClient client = getClient(workDir);
    replacedertTrue(file.exists());
    client.add(new File[] { file }, NULL_PROGRESS_MONITOR);
    replacedertDirCacheEntry(Collections.singleton(file));
    Monitor m = new Monitor();
    client.addNotificationListener(m);
    client.clean(new File[] { file }, m);
    replacedertTrue(file.exists());
    replacedertTrue(m.notifiedFiles.isEmpty());
}

19 View Complete Implementation : CleanTest.java
Copyright Apache License 2.0
Author : apache
public void testCleanFileVersionedUptodate() throws Exception {
    File file = new File(workDir, "file");
    file.createNewFile();
    replacedertNullDirCacheEntry(Collections.singleton(file));
    GitClient client = getClient(workDir);
    replacedertTrue(file.exists());
    client.add(new File[] { file }, NULL_PROGRESS_MONITOR);
    client.commit(new File[] { file }, "initial commit", null, null, NULL_PROGRESS_MONITOR);
    replacedertDirCacheEntry(Collections.singleton(file));
    Monitor m = new Monitor();
    client.addNotificationListener(m);
    client.clean(new File[] { file }, m);
    replacedertTrue(file.exists());
    replacedertTrue(m.notifiedFiles.isEmpty());
}

19 View Complete Implementation : AddTest.java
Copyright Apache License 2.0
Author : apache
public void testAddIgnored() throws Exception {
    File folder1 = new File(workDir, "folder1");
    folder1.mkdirs();
    File file1_1 = new File(folder1, "file1_1");
    write(file1_1, "file1_1");
    File file1_2 = new File(folder1, "file1_2");
    write(file1_2, "file1_2");
    File folder2 = new File(workDir, "folder2");
    folder2.mkdirs();
    File file2_1 = new File(folder2, "file2_1");
    write(file2_1, "file2_1");
    File file2_2 = new File(folder2, "file2_2");
    write(file2_2, "file2_2");
    write(new File(workDir, ".gitignore"), "file1_1\nfolder2");
    replacedertNullDirCacheEntry(Arrays.asList(file1_1, file2_1, file1_2, file2_2));
    GitClient client = getClient(workDir);
    Monitor m = new Monitor();
    client.addNotificationListener(m);
    client.add(new File[] { folder1, folder2 }, m);
    replacedertEquals(new HashSet<>(Arrays.asList(file1_2)), m.notifiedFiles);
    replacedertDirCacheSize(1);
    replacedertDirCacheEntry(Arrays.asList(file1_2));
    replacedertNullDirCacheEntry(Arrays.asList(file1_1, file2_1, file2_2));
}

19 View Complete Implementation : CleanTest.java
Copyright Apache License 2.0
Author : apache
public void testCleanWorkingTree() throws Exception {
    File root = new File(workDir, "root");
    root.mkdirs();
    File addedFile = new File(root, "addedFile");
    addedFile.createNewFile();
    File ignoredFile = new File(root, "ignoredFile");
    ignoredFile.createNewFile();
    File ignoredFolder = new File(root, "ignoredFolder");
    ignoredFolder.mkdirs();
    File nestedIgnoredFile = new File(ignoredFolder, "nestedIgnoredFile");
    nestedIgnoredFile.createNewFile();
    File unversionedFile = new File(root, "unversionedFile");
    unversionedFile.createNewFile();
    File folder = new File(root, "folder");
    folder.mkdirs();
    File nestedUnversionedFile = new File(folder, "nestedUnversionedFile");
    nestedUnversionedFile.createNewFile();
    File nestedAddedFile = new File(folder, "nestedAddedFile");
    nestedAddedFile.createNewFile();
    File nestedUnversionedFolder = new File(folder, "nestedUnversionedFolder");
    nestedUnversionedFolder.mkdirs();
    File gitignore = new File(workDir, ".gitignore");
    FileOutputStream fos = new FileOutputStream(gitignore);
    fos.write(ignoredFile.getName().getBytes());
    fos.write("\n".getBytes());
    fos.write(ignoredFolder.getName().getBytes());
    fos.flush();
    replacedertNullDirCacheEntry(Collections.singleton(root));
    GitClient client = getClient(workDir);
    File[] addedFiles = new File[] { addedFile, nestedAddedFile };
    client.add(addedFiles, NULL_PROGRESS_MONITOR);
    replacedertDirCacheEntry(Arrays.asList(addedFiles));
    Monitor m = new Monitor();
    client.addNotificationListener(m);
    File[] files = new File[] { root, addedFile, ignoredFile, ignoredFolder, nestedIgnoredFile, unversionedFile, folder, nestedUnversionedFile, nestedAddedFile, nestedUnversionedFolder };
    for (File file : files) {
        if (!file.exists()) {
            fail("file exists " + file);
        }
    }
    client.clean(new File[] { root }, m);
    replacedertTrue(root.exists());
    replacedertTrue(addedFile.exists());
    replacedertTrue(ignoredFile.exists());
    replacedertTrue(ignoredFolder.exists());
    replacedertTrue(nestedIgnoredFile.exists());
    replacedertFalse(unversionedFile.exists());
    replacedertTrue(folder.exists());
    replacedertFalse(nestedUnversionedFile.exists());
    replacedertTrue(nestedAddedFile.exists());
    replacedertFalse(nestedUnversionedFolder.exists());
    replacedertNotifiedCleanedFiles(m.notifiedFiles, new File[] { unversionedFile, nestedUnversionedFile, nestedUnversionedFolder });
}

19 View Complete Implementation : BlameTest.java
Copyright Apache License 2.0
Author : apache
public void testBlameMixedLineEndings() throws Exception {
    File f = new File(workDir, "f");
    String content = "";
    for (int i = 0; i < 10000; ++i) {
        content += i + "\r\n";
    }
    write(f, content);
    // lets turn autocrlf on
    StoredConfig cfg = repository.getConfig();
    cfg.setString(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_AUTOCRLF, "true");
    cfg.save();
    File[] files = new File[] { f };
    GitClient client = getClient(workDir);
    client.add(files, NULL_PROGRESS_MONITOR);
    GitRevisionInfo info = client.commit(files, "commit", null, null, NULL_PROGRESS_MONITOR);
    content = content.replaceFirst("0", "01");
    write(f, content);
    // it should be up to date again
    org.eclipse.jgit.api.BlameCommand cmd = new Git(repository).blame();
    cmd.setFilePath("f");
    BlameResult blameResult = cmd.call();
    replacedertEquals(info.getRevision(), blameResult.getSourceCommit(1).getName());
    GitBlameResult res = client.blame(f, null, NULL_PROGRESS_MONITOR);
    replacedertNull(res.getLineDetails(0));
    replacedertLineDetails(f, 1, info.getRevision(), info.getAuthor(), info.getCommitter(), res.getLineDetails(1));
    // without autocrlf it should all be modified
    cfg.setString(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_AUTOCRLF, "false");
    cfg.save();
    res = client.blame(f, null, NULL_PROGRESS_MONITOR);
    replacedertNull(res.getLineDetails(1));
}

19 View Complete Implementation : CommitTest.java
Copyright Apache License 2.0
Author : apache
public void testMultipleFileCommit() throws Exception {
    repository.getConfig().setString("user", null, "name", "John");
    repository.getConfig().setString("user", null, "email", "[email protected]");
    repository.getConfig().save();
    File dir = new File(workDir, "testdir");
    File newOne = new File(dir, "test.txt");
    File another = new File(dir, "test2.txt");
    dir.mkdirs();
    write(newOne, "this is test!");
    write(another, "this is another test!");
    GitClient client = getClient(workDir);
    client.add(new File[] { newOne, another }, NULL_PROGRESS_MONITOR);
    Map<File, GitStatus> statuses = client.getStatus(new File[] { newOne, another }, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, newOne, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
    replacedertStatus(statuses, workDir, another, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
    GitRevisionInfo info = client.commit(new File[] { newOne, another }, "initial commit", null, null, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(new File[] { newOne, another }, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, newOne, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, another, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    Map<File, GitFileInfo> modifiedFiles = info.getModifiedFiles();
    replacedertTrue(modifiedFiles.get(newOne).getStatus().equals(Status.ADDED));
    replacedertTrue(modifiedFiles.get(another).getStatus().equals(Status.ADDED));
    Git git = new Git(repository);
    LogCommand log = git.log();
    RevCommit com = log.call().iterator().next();
    replacedertEquals("initial commit", com.getFullMessage());
    replacedertEquals("[email protected]", com.getAuthorIdent().getEmailAddress());
    write(newOne, "!modification!");
    write(another, "another modification!");
    client.add(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, newOne, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    replacedertStatus(statuses, workDir, another, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    info = client.commit(new File[] { newOne, another }, "second commit", null, null, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, newOne, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, another, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    modifiedFiles = info.getModifiedFiles();
    replacedertTrue(modifiedFiles.get(newOne).getStatus().equals(Status.MODIFIED));
    replacedertTrue(modifiedFiles.get(another).getStatus().equals(Status.MODIFIED));
    log = git.log();
    com = log.call().iterator().next();
    replacedertEquals("second commit", com.getFullMessage());
    replacedertEquals("[email protected]", com.getAuthorIdent().getEmailAddress());
}

19 View Complete Implementation : CommitTest.java
Copyright Apache License 2.0
Author : apache
public void testCommitRemovalTree() throws Exception {
    File folder = new File(workDir, "folder");
    File subfolder1 = new File(folder, "subfolder");
    File subfolder11 = new File(subfolder1, "subfolder1");
    File subfolder12 = new File(subfolder1, "subfolder2");
    subfolder11.mkdirs();
    subfolder12.mkdirs();
    File file1 = new File(subfolder11, "file1");
    File file2 = new File(subfolder12, "file2");
    write(file1, "file1 content");
    write(file2, "file2 content");
    File[] files = new File[] { folder };
    GitClient client = getClient(workDir);
    client.add(files, NULL_PROGRESS_MONITOR);
    GitRevisionInfo info = client.commit(files, "initial commit", null, null, NULL_PROGRESS_MONITOR);
    Map<File, GitFileInfo> modifiedFiles = info.getModifiedFiles();
    replacedertEquals(2, modifiedFiles.size());
    replacedertTrue(modifiedFiles.get(file1).getStatus().equals(Status.ADDED));
    replacedertTrue(modifiedFiles.get(file2).getStatus().equals(Status.ADDED));
    Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    client.remove(files, false, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_REMOVED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_REMOVED, false);
    replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_REMOVED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_REMOVED, false);
    // commit should remove file from the repository
    info = client.commit(files, "deleting files", null, null, NULL_PROGRESS_MONITOR);
    modifiedFiles = info.getModifiedFiles();
    replacedertEquals(2, modifiedFiles.size());
    replacedertTrue(modifiedFiles.get(file1).getStatus().equals(Status.REMOVED));
    replacedertTrue(modifiedFiles.get(file2).getStatus().equals(Status.REMOVED));
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertNull(statuses.get(file1));
    replacedertNull(statuses.get(file2));
}

19 View Complete Implementation : BranchTest.java
Copyright Apache License 2.0
Author : apache
public void testBranchTracking() throws Exception {
    final File otherWT = new File(workDir.getParentFile(), "repo2");
    GitClient client = getClient(otherWT);
    client.init(NULL_PROGRESS_MONITOR);
    File f = new File(otherWT, "f");
    write(f, "init");
    client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
    client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    client = getClient(workDir);
    client.setRemote(new GitRemoteConfig("origin", Arrays.asList(otherWT.getAbsolutePath()), Arrays.asList(otherWT.getAbsolutePath()), Arrays.asList("+refs/heads/*:refs/remotes/origin/*"), Collections.<String>emptyList()), NULL_PROGRESS_MONITOR);
    client.fetch("origin", NULL_PROGRESS_MONITOR);
    GitBranch b = client.createBranch(Constants.MASTER, "origin/master", NULL_PROGRESS_MONITOR);
    replacedertEquals("origin/master", b.getTrackedBranch().getName());
    replacedertTrue(b.getTrackedBranch().isRemote());
    client.checkoutRevision(Constants.MASTER, true, NULL_PROGRESS_MONITOR);
    b = client.createBranch("nova1", Constants.MASTER, NULL_PROGRESS_MONITOR);
    replacedertNull(b.getTrackedBranch());
    StoredConfig cfg = repository.getConfig();
    cfg.setString(ConfigConstants.CONFIG_BRANCH_SECTION, null, ConfigConstants.CONFIG_KEY_AUTOSETUPMERGE, "always");
    cfg.save();
    b = client.createBranch("nova2", Constants.MASTER, NULL_PROGRESS_MONITOR);
    replacedertEquals("master", b.getTrackedBranch().getName());
    replacedertFalse(b.getTrackedBranch().isRemote());
    // list branches
    Map<String, GitBranch> branches = client.getBranches(true, NULL_PROGRESS_MONITOR);
    b = branches.get(Constants.MASTER);
    replacedertEquals("origin/master", b.getTrackedBranch().getName());
    replacedertTrue(b.getTrackedBranch().isRemote());
    b = branches.get("origin/master");
    replacedertNull(b.getTrackedBranch());
}

19 View Complete Implementation : CommitTest.java
Copyright Apache License 2.0
Author : apache
public void testSingleTreeCommit() throws Exception {
    File folder = new File(workDir, "folder");
    File subfolder1 = new File(folder, "subfolder");
    File subfolder11 = new File(subfolder1, "subfolder1");
    File subfolder12 = new File(subfolder1, "subfolder2");
    subfolder11.mkdirs();
    subfolder12.mkdirs();
    File file1 = new File(subfolder11, "file1");
    File file2 = new File(subfolder12, "file2");
    write(file1, "file1 content");
    write(file2, "file2 content");
    File[] files = new File[] { folder };
    GitClient client = getClient(workDir);
    client.add(files, NULL_PROGRESS_MONITOR);
    GitRevisionInfo info = client.commit(files, "initial commit", null, null, NULL_PROGRESS_MONITOR);
    Map<File, GitFileInfo> modifiedFiles = info.getModifiedFiles();
    replacedertEquals(2, modifiedFiles.size());
    replacedertTrue(modifiedFiles.get(file1).getStatus().equals(Status.ADDED));
    replacedertTrue(modifiedFiles.get(file2).getStatus().equals(Status.ADDED));
    Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    Git git = new Git(repository);
    LogCommand log = git.log();
    RevCommit com = log.call().iterator().next();
    replacedertEquals("initial commit", com.getFullMessage());
}

19 View Complete Implementation : AddTest.java
Copyright Apache License 2.0
Author : apache
public void testLineEndingsWindows() throws Exception {
    if (!isWindows()) {
        return;
    }
    // lets turn autocrlf on
    StoredConfig cfg = repository.getConfig();
    cfg.setString(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_AUTOCRLF, "true");
    cfg.save();
    File f = new File(workDir, "f");
    write(f, "a\r\nb\r\n");
    File[] roots = new File[] { f };
    GitClient client = getClient(workDir);
    runExternally(workDir, Arrays.asList("git.cmd", "add", "f"));
    DirCacheEntry e1 = repository.readDirCache().getEntry("f");
    client.add(roots, NULL_PROGRESS_MONITOR);
    DirCacheEntry e2 = repository.readDirCache().getEntry("f");
    replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, Status.STATUS_ADDED, Status.STATUS_NORMAL, Status.STATUS_ADDED, false);
    List<String> res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
    replacedertEquals(Arrays.asList("A  f"), res);
    replacedertEquals(e1.getFileMode(), e2.getFileMode());
    replacedertEquals(e1.getPathString(), e2.getPathString());
    replacedertEquals(e1.getRawMode(), e2.getRawMode());
    replacedertEquals(e1.getStage(), e2.getStage());
    replacedertEquals(e1.getLength(), e2.getLength());
    replacedertEquals(e1.getObjectId(), e2.getObjectId());
    write(f, "a\nb\n");
    res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
    replacedertEquals(Arrays.asList("AM f"), res);
    replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, Status.STATUS_ADDED, Status.STATUS_MODIFIED, Status.STATUS_ADDED, false);
    res = runExternally(workDir, Arrays.asList("git.cmd", "commit", "-m", "gugu"));
    res = runExternally(workDir, Arrays.asList("git.cmd", "checkout", "--", "f"));
    RevCommit commit = Utils.findCommit(repository, "HEAD");
    TreeWalk walk = new TreeWalk(repository);
    walk.reset();
    walk.addTree(commit.getTree());
    walk.setFilter(PathFilter.create("f"));
    walk.setRecursive(true);
    walk.next();
    replacedertEquals("f", walk.getPathString());
    ObjectLoader loader = repository.getObjectDatabase().open(walk.getObjectId(0));
    replacedertEquals(4, loader.getSize());
    replacedertEquals("a\nb\n", new String(loader.getBytes()));
    replacedertEquals(e1.getObjectId(), walk.getObjectId(0));
    res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
    replacedertEquals(0, res.size());
    replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
}

19 View Complete Implementation : CommitTest.java
Copyright Apache License 2.0
Author : apache
public void testLineEndingsWindows() throws Exception {
    if (!isWindows()) {
        return;
    }
    // lets turn autocrlf on
    StoredConfig cfg = repository.getConfig();
    cfg.setString(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_AUTOCRLF, "true");
    cfg.save();
    File f = new File(workDir, "f");
    write(f, "a\r\nb\r\n");
    File[] roots = new File[] { f };
    GitClient client = getClient(workDir);
    client.add(roots, NULL_PROGRESS_MONITOR);
    DirCacheEntry e1 = repository.readDirCache().getEntry("f");
    replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
    List<String> res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
    replacedertEquals(Arrays.asList("A  f"), res);
    GitRevisionInfo info = client.commit(roots, "aaa", null, null, NULL_PROGRESS_MONITOR);
    replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
    replacedertEquals(0, res.size());
    RevCommit commit = Utils.findCommit(repository, info.getRevision());
    TreeWalk walk = new TreeWalk(repository);
    walk.reset();
    walk.addTree(commit.getTree());
    walk.setFilter(PathFilter.create("f"));
    walk.setRecursive(true);
    walk.next();
    replacedertEquals("f", walk.getPathString());
    ObjectLoader loader = repository.getObjectDatabase().open(walk.getObjectId(0));
    replacedertEquals(4, loader.getSize());
    replacedertEquals("a\nb\n", new String(loader.getBytes()));
    replacedertEquals(e1.getObjectId(), walk.getObjectId(0));
    File f2 = new File(workDir, "f2");
    write(f2, "a\r\nb\r\n");
    roots = new File[] { f2 };
    client.add(roots, NULL_PROGRESS_MONITOR);
    replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f2, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
    res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
    replacedertEquals(Arrays.asList("A  f2"), res);
    info = client.commit(roots, "bbb", null, null, NULL_PROGRESS_MONITOR);
    replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f2, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
    replacedertEquals(0, res.size());
    commit = Utils.findCommit(repository, info.getRevision());
    walk = new TreeWalk(repository);
    walk.reset();
    walk.addTree(commit.getTree());
    walk.setFilter(PathFilter.create("f"));
    walk.setRecursive(true);
    while (walk.next()) {
        loader = repository.getObjectDatabase().open(walk.getObjectId(0));
        replacedertEquals(4, loader.getSize());
        replacedertEquals("a\nb\n", new String(loader.getBytes()));
        replacedertEquals(e1.getObjectId(), walk.getObjectId(0));
    }
}

19 View Complete Implementation : BranchTest.java
Copyright Apache License 2.0
Author : apache
public void testDeleteRemoteBranch() throws Exception {
    final File otherWT = new File(workDir.getParentFile(), "repo2");
    GitClient client = getClient(otherWT);
    client.init(NULL_PROGRESS_MONITOR);
    File f = new File(otherWT, "f");
    write(f, "init");
    client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
    client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    client = getClient(workDir);
    client.fetch(otherWT.getAbsolutePath(), Arrays.asList(new String[] { "refs/heads/*:refs/remotes/origin/*" }), NULL_PROGRESS_MONITOR);
    Map<String, GitBranch> branches = client.getBranches(true, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, branches.size());
    replacedertNotNull(branches.get("origin/master"));
    // delete remote branch
    client.deleteBranch("origin/master", false, NULL_PROGRESS_MONITOR);
    branches = client.getBranches(false, NULL_PROGRESS_MONITOR);
    replacedertEquals(0, branches.size());
}

19 View Complete Implementation : CommitTest.java
Copyright Apache License 2.0
Author : apache
public void testCommitOnlySomeOfAllFilesFromMultipleTrees() throws Exception {
    File folder1 = new File(workDir, "folder1");
    File subfolder11 = new File(folder1, "subfolder1");
    File subfolder12 = new File(folder1, "subfolder2");
    subfolder11.mkdirs();
    subfolder12.mkdirs();
    File file11 = new File(subfolder11, "file1");
    File file12 = new File(subfolder12, "file2");
    write(file11, "file1 content");
    write(file12, "file2 content");
    File folder2 = new File(workDir, "folder2");
    File subfolder21 = new File(folder2, "subfolder1");
    File subfolder22 = new File(folder2, "subfolder2");
    subfolder21.mkdirs();
    subfolder22.mkdirs();
    File file21 = new File(subfolder21, "file1");
    File file22 = new File(subfolder22, "file2");
    write(file21, "file1 content");
    write(file22, "file2 content");
    File[] trees = new File[] { folder1, folder2 };
    File[] filesToCommit = new File[] { folder1, subfolder21 };
    File[] filesSingleFolder = new File[] { subfolder21 };
    GitClient client = getClient(workDir);
    client.add(trees, NULL_PROGRESS_MONITOR);
    // COMMIT SOME
    GitRevisionInfo info = client.commit(filesSingleFolder, "initial commit", null, null, NULL_PROGRESS_MONITOR);
    Map<File, GitFileInfo> modifiedFiles = info.getModifiedFiles();
    replacedertEquals(1, modifiedFiles.size());
    Map<File, GitStatus> statuses = client.getStatus(trees, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file11, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
    replacedertStatus(statuses, workDir, file12, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
    replacedertStatus(statuses, workDir, file21, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file22, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
    Git git = new Git(repository);
    LogCommand log = git.log();
    RevCommit com = log.call().iterator().next();
    replacedertEquals("initial commit", com.getFullMessage());
    // COMMIT ALL
    info = client.commit(trees, "commit all", null, null, NULL_PROGRESS_MONITOR);
    modifiedFiles = info.getModifiedFiles();
    replacedertEquals(3, modifiedFiles.size());
    statuses = client.getStatus(trees, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file11, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file12, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file21, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file22, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    write(file11, "!modification!");
    write(file12, "another modification!");
    write(file21, "!modification!");
    write(file22, "another modification!");
    client.add(trees, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(trees, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file11, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    replacedertStatus(statuses, workDir, file12, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    replacedertStatus(statuses, workDir, file21, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    replacedertStatus(statuses, workDir, file22, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    info = client.commit(filesToCommit, "second commit", null, null, NULL_PROGRESS_MONITOR);
    modifiedFiles = info.getModifiedFiles();
    replacedertEquals(3, modifiedFiles.size());
    statuses = client.getStatus(trees, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file11, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file12, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file21, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file22, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    log = git.log();
    com = log.call().iterator().next();
    replacedertEquals("second commit", com.getFullMessage());
    // COMMIT ALL
    client.commit(trees, "commit all", null, null, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(trees, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, file11, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file12, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file21, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file22, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
}

19 View Complete Implementation : RepositoryInfoTest.java
Copyright Apache License 2.0
Author : apache
public void testChangeBranch() throws Exception {
    File f = new File(repositoryLocation, "file");
    File[] roots = new File[] { f };
    GitClient client = getClient(repositoryLocation);
    RepositoryInfo info = RepositoryInfo.getInstance(repositoryLocation);
    info.refresh();
    replacedertEquals(GitBranch.NO_BRANCH, info.getActiveBranch().getName());
    replacedertEquals(AbstractGitTestCase.NULL_OBJECT_ID, info.getActiveBranch().getId());
    client.add(roots, GitUtils.NULL_PROGRESS_MONITOR);
    // test property support
    GitBranch oldBranch = info.getActiveBranch();
    RepositoryInfoListener list = new RepositoryInfoListener();
    info.addPropertyChangeListener(list);
    write(f, "huhu");
    client.add(roots, GitUtils.NULL_PROGRESS_MONITOR);
    client.commit(roots, "bla", null, null, GitUtils.NULL_PROGRESS_MONITOR);
    info.refresh();
    list.replacedertPropertyEvent(RepositoryInfo.PROPERTY_ACTIVE_BRANCH, oldBranch, info.getActiveBranch());
}

19 View Complete Implementation : CommitTest.java
Copyright Apache License 2.0
Author : apache
public void testAmendCommit() throws Exception {
    repository.getConfig().setString("user", null, "name", "John");
    repository.getConfig().setString("user", null, "email", "[email protected]");
    repository.getConfig().save();
    File dir = new File(workDir, "testdir");
    File newOne = new File(dir, "test.txt");
    File another = new File(dir, "test2.txt");
    dir.mkdirs();
    write(newOne, "content1");
    write(another, "content2");
    GitClient client = getClient(workDir);
    client.add(new File[] { newOne, another }, NULL_PROGRESS_MONITOR);
    GitRevisionInfo info = client.commit(new File[] { newOne, another }, "initial commit", null, null, NULL_PROGRESS_MONITOR);
    Map<File, GitStatus> statuses = client.getStatus(new File[] { newOne, another }, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, newOne, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, another, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    write(newOne, "modification1");
    write(another, "modification2");
    client.add(new File[] { newOne, another }, NULL_PROGRESS_MONITOR);
    GitRevisionInfo lastCommit = client.commit(new File[] { newOne }, "second commit", null, null, false, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, newOne, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, another, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    Map<File, GitFileInfo> modifiedFiles = lastCommit.getModifiedFiles();
    replacedertTrue(modifiedFiles.get(newOne).getStatus().equals(Status.MODIFIED));
    replacedertNull(modifiedFiles.get(another));
    replacedertEquals(1, lastCommit.getParents().length);
    replacedertEquals(info.getRevision(), lastCommit.getParents()[0]);
    replacedertEquals(lastCommit.getRevision(), client.getBranches(false, NULL_PROGRESS_MONITOR).get("master").getId());
    Thread.sleep(1100);
    long time = lastCommit.getCommitTime();
    RevWalk walk = new RevWalk(repository);
    RevCommit originalCommit = walk.parseCommit(repository.resolve(lastCommit.getRevision()));
    lastCommit = client.commit(new File[] { newOne, another }, "second commit, modified message", new GitUser("user2", "user2.email"), new GitUser("committer2", "committer2.email"), true, NULL_PROGRESS_MONITOR);
    RevCommit amendedCommit = walk.parseCommit(repository.resolve(lastCommit.getRevision()));
    replacedertEquals("Commit time should not change after amend", time, lastCommit.getCommitTime());
    replacedertEquals(originalCommit.getAuthorIdent().getWhen(), amendedCommit.getAuthorIdent().getWhen());
    // commit time should not equal.
    replacedertFalse(originalCommit.getCommitterIdent().getWhen().equals(amendedCommit.getCommitterIdent().getWhen()));
    statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, newOne, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, another, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    modifiedFiles = lastCommit.getModifiedFiles();
    replacedertTrue(modifiedFiles.get(newOne).getStatus().equals(Status.MODIFIED));
    replacedertTrue(modifiedFiles.get(another).getStatus().equals(Status.MODIFIED));
    replacedertEquals(1, lastCommit.getParents().length);
    replacedertEquals(info.getRevision(), lastCommit.getParents()[0]);
    replacedertEquals(lastCommit.getRevision(), client.getBranches(false, NULL_PROGRESS_MONITOR).get("master").getId());
}

19 View Complete Implementation : BranchTest.java
Copyright Apache License 2.0
Author : apache
public void testCreateBranchWithRebase() throws Exception {
    final File otherWT = new File(workDir.getParentFile(), "repo2");
    GitClient client = getClient(otherWT);
    client.init(NULL_PROGRESS_MONITOR);
    File f = new File(otherWT, "f");
    write(f, "init");
    client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
    client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    client = getClient(workDir);
    client.setRemote(new GitRemoteConfig("origin", Arrays.asList(new String[] { otherWT.getAbsolutePath() }), Arrays.asList(new String[] { otherWT.getAbsolutePath() }), Arrays.asList(new String[] { "refs/heads/*:refs/remotes/origin/*" }), Arrays.asList(new String[] { "refs/remotes/origin/*:refs/heads/*" })), NULL_PROGRESS_MONITOR);
    client.fetch("origin", NULL_PROGRESS_MONITOR);
    StoredConfig config = repository.getConfig();
    config.setString(ConfigConstants.CONFIG_BRANCH_SECTION, null, ConfigConstants.CONFIG_KEY_AUTOSETUPREBASE, ConfigConstants.CONFIG_KEY_NEVER);
    config.save();
    GitBranch b = client.createBranch(BRANCH_NAME, "origin/master", NULL_PROGRESS_MONITOR);
    replacedertFalse(repository.getConfig().getBoolean(ConfigConstants.CONFIG_BRANCH_SECTION, BRANCH_NAME, ConfigConstants.CONFIG_KEY_REBASE, false));
    client.deleteBranch(BRANCH_NAME, true, NULL_PROGRESS_MONITOR);
    config = repository.getConfig();
    config.setString(ConfigConstants.CONFIG_BRANCH_SECTION, null, ConfigConstants.CONFIG_KEY_AUTOSETUPREBASE, ConfigConstants.CONFIG_KEY_REMOTE);
    config.save();
    b = client.createBranch(BRANCH_NAME, "origin/master", NULL_PROGRESS_MONITOR);
    replacedertTrue(repository.getConfig().getBoolean(ConfigConstants.CONFIG_BRANCH_SECTION, BRANCH_NAME, ConfigConstants.CONFIG_KEY_REBASE, false));
}

19 View Complete Implementation : MergeTest.java
Copyright Apache License 2.0
Author : apache
public void testMergeCrissCross_232904() throws Exception {
    File f1 = new File(workDir, "f1");
    File f2 = new File(workDir, "f2");
    File f3 = new File(workDir, "f3");
    write(f1, "initial content");
    GitClient client = getClient(workDir);
    File[] files = new File[] { f1, f2, f3 };
    client.add(files, NULL_PROGRESS_MONITOR);
    client.commit(files, "initial commit", null, null, NULL_PROGRESS_MONITOR);
    client.createBranch(BRANCH_NAME, "master", NULL_PROGRESS_MONITOR);
    // change on master
    write(f1, Constants.MASTER);
    client.add(files, NULL_PROGRESS_MONITOR);
    client.commit(files, "master commit", null, null, NULL_PROGRESS_MONITOR);
    GitRevisionInfo masterCommit = client.log("master", NULL_PROGRESS_MONITOR);
    // change on branch
    client.checkoutRevision(BRANCH_NAME, true, NULL_PROGRESS_MONITOR);
    write(f2, BRANCH_NAME);
    client.add(files, NULL_PROGRESS_MONITOR);
    client.commit(files, "branch commit", null, null, NULL_PROGRESS_MONITOR);
    GitRevisionInfo branchCommit = client.log(BRANCH_NAME, NULL_PROGRESS_MONITOR);
    // merge last master commit (not merge) into branch
    client.checkoutRevision(BRANCH_NAME, true, NULL_PROGRESS_MONITOR);
    client.merge(masterCommit.getRevision(), NULL_PROGRESS_MONITOR);
    // merge last branch commit (not merge) into master
    client.checkoutRevision(Constants.MASTER, true, NULL_PROGRESS_MONITOR);
    client.merge(branchCommit.getRevision(), NULL_PROGRESS_MONITOR);
    client.checkoutRevision(Constants.MASTER, true, NULL_PROGRESS_MONITOR);
    client.merge(BRANCH_NAME, NULL_PROGRESS_MONITOR);
}

19 View Complete Implementation : AddTest.java
Copyright Apache License 2.0
Author : apache
public void testAddNoRoots() throws Exception {
    File file = new File(workDir, "file");
    file.createNewFile();
    replacedertNullDirCacheEntry(Collections.singleton(file));
    GitClient client = getClient(workDir);
    Monitor m = new Monitor();
    client.addNotificationListener(m);
    client.add(new File[0], m);
    replacedertEquals(Collections.singleton(file), m.notifiedFiles);
    replacedertDirCacheSize(1);
    replacedertDirCacheEntry(Collections.singleton(file));
}

19 View Complete Implementation : PullTest.java
Copyright Apache License 2.0
Author : apache
@Override
protected void setUp() throws Exception {
    super.setUp();
    workDir = getWorkingDirectory();
    repository = getRepository(getLocalGitRepository());
    otherWT = new File(workDir.getParentFile(), "repo2");
    GitClient client = getClient(otherWT);
    client.init(NULL_PROGRESS_MONITOR);
    f = new File(otherWT, "f");
    write(f, "init");
    f2 = new File(otherWT, "f2");
    write(f2, "init");
    client.add(new File[] { f, f2 }, NULL_PROGRESS_MONITOR);
    masterInfo = client.commit(new File[] { f, f2 }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    branch = client.createBranch(BRANCH_NAME, Constants.MASTER, NULL_PROGRESS_MONITOR);
    RemoteConfig cfg = new RemoteConfig(repository.getConfig(), "origin");
    cfg.addURI(new URIish(otherWT.toURI().toURL().toString()));
    cfg.update(repository.getConfig());
    repository.getConfig().save();
}

19 View Complete Implementation : CheckoutTest.java
Copyright Apache License 2.0
Author : apache
public void testCheckoutNoHeadYet() throws Exception {
    final File otherWT = new File(workDir.getParentFile(), "repo2");
    GitClient client = getClient(otherWT);
    client.init(NULL_PROGRESS_MONITOR);
    File f = new File(otherWT, "f");
    write(f, "init");
    client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
    client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    client = getClient(workDir);
    client.fetch(otherWT.getAbsolutePath(), Arrays.asList(new String[] { "refs/heads/*:refs/remotes/origin/*" }), NULL_PROGRESS_MONITOR);
    client.checkoutRevision("origin/master", true, NULL_PROGRESS_MONITOR);
}

19 View Complete Implementation : PullTest.java
Copyright Apache License 2.0
Author : apache
private String makeRemoteChange(String branch, String content) throws Exception {
    GitClient client = getClient(otherWT);
    client.checkoutRevision(branch, true, NULL_PROGRESS_MONITOR);
    write(f, content);
    File[] roots = new File[] { f };
    client.add(roots, NULL_PROGRESS_MONITOR);
    return client.commit(roots, "remote change", null, null, NULL_PROGRESS_MONITOR).getRevision();
}

19 View Complete Implementation : HistoryTest.java
Copyright Apache License 2.0
Author : apache
public void testHistoryProviderSimple() throws Exception {
    File f = new File(repositoryLocation, "file");
    write(f, "a\nb\nc\nd\n");
    File[] roots = new File[] { f };
    GitClient client = getClient(repositoryLocation);
    client.add(roots, GitUtils.NULL_PROGRESS_MONITOR);
    GitRevisionInfo rev1 = client.commit(roots, "first commit", new GitUser("author", "[email protected]"), null, GitUtils.NULL_PROGRESS_MONITOR);
    Thread.sleep(1100);
    write(f, "a\nb\nc\nd\ne\n");
    client.add(roots, GitUtils.NULL_PROGRESS_MONITOR);
    GitRevisionInfo rev2 = client.commit(roots, "second commit", new GitUser("author2", "[email protected]"), null, GitUtils.NULL_PROGRESS_MONITOR);
    Thread.sleep(1100);
    VCSHistoryProvider p = VersioningSupport.getOwner(f).getVCSHistoryProvider();
    replacedertTrue(p instanceof HistoryProvider);
    VCSHistoryProvider.HistoryEntry[] entries = p.getHistory(new File[] { f }, new Date(0));
    replacedertEquals(2, entries.length);
    replacedertEntry(rev2, entries[0]);
    replacedertEntry(rev1, entries[1]);
    replacedertNull(entries[1].getParentEntry(f));
    replacedertEntry(entries[1], entries[0].getParentEntry(f));
}

19 View Complete Implementation : ResetTest.java
Copyright Apache License 2.0
Author : apache
public void testResetPaths() throws Exception {
    // index entry will be modified
    File file1 = new File(workDir, "file1");
    write(file1, "blablablabla");
    // index entry will be left alone
    File file2 = new File(workDir, "file2");
    write(file2, "blablablabla in file2");
    // index entry will be added
    File file3 = new File(workDir, "file3");
    write(file3, "blablablabla in file3");
    // index entry will be removed
    File file4 = new File(workDir, "file4");
    File[] files = new File[] { file1, file2, file3, file4 };
    add(files);
    commit(files);
    GitClient client = getClient(workDir);
    Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertEquals(3, statuses.size());
    replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file2, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file3, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
    String content = "change in content";
    write(file1, content);
    write(file4, "blablablabla in file4");
    client.add(files, NULL_PROGRESS_MONITOR);
    commit(files);
    write(file2, "change in content in file 2");
    client.add(new File[] { file2 }, NULL_PROGRESS_MONITOR);
    client.remove(new File[] { file3 }, false, NULL_PROGRESS_MONITOR);
    LogCommand cmd = new Git(repository).log();
    Iterator<RevCommit> logs = cmd.call().iterator();
    logs.next();
    RevCommit commit = logs.next();
    String revision = commit.getId().getName();
    client.reset(new File[] { file1, file3, file4 }, revision, true, NULL_PROGRESS_MONITOR);
    // file1: modified HEAD-INDEX
    // file2: stays modified HEAD-INDEX
    // file3: removed in WT, normal HEAD-INDEX
    // file4: removed in index, normal in WT
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertEquals(4, statuses.size());
    replacedertStatus(statuses, workDir, file1, true, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, file2, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
    replacedertStatus(statuses, workDir, file3, true, Status.STATUS_NORMAL, Status.STATUS_REMOVED, Status.STATUS_REMOVED, false);
    replacedertStatus(statuses, workDir, file4, true, Status.STATUS_REMOVED, Status.STATUS_ADDED, Status.STATUS_NORMAL, false);
    replacedertEquals(content, read(file1));
}

19 View Complete Implementation : CheckoutTest.java
Copyright Apache License 2.0
Author : apache
// must not checkout from nested repositories
public void testCheckoutIndexNested() throws Exception {
    File f = new File(workDir, "f");
    write(f, "file");
    GitClient client = getClient(workDir);
    client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
    client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    File nested = new File(workDir, "nested");
    nested.mkdirs();
    File f2 = new File(nested, "f");
    write(f2, "file");
    GitClient clientNested = getClient(nested);
    clientNested.init(NULL_PROGRESS_MONITOR);
    clientNested.add(new File[] { f2 }, NULL_PROGRESS_MONITOR);
    clientNested.commit(new File[] { f2 }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    write(f, "change");
    write(f2, "change");
    client.checkout(new File[] { workDir }, null, true, NULL_PROGRESS_MONITOR);
    Map<File, GitStatus> statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    replacedertEquals(2, statuses.size());
    replacedertStatus(statuses, workDir, f, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, nested, false, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_ADDED, false);
    statuses = clientNested.getStatus(new File[] { nested }, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, statuses.size());
    replacedertStatus(statuses, nested, f2, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
    clientNested.add(new File[] { f2 }, NULL_PROGRESS_MONITOR);
    client.checkout(new File[] { workDir }, "HEAD", true, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    replacedertEquals(2, statuses.size());
    replacedertStatus(statuses, workDir, f, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertStatus(statuses, workDir, nested, false, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_ADDED, false);
    statuses = clientNested.getStatus(new File[] { nested }, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, statuses.size());
    replacedertStatus(statuses, nested, f2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
    client.checkoutRevision("master", true, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
    replacedertEquals(2, statuses.size());
    replacedertStatus(statuses, workDir, nested, false, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_ADDED, false);
    replacedertStatus(statuses, workDir, f, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    statuses = clientNested.getStatus(new File[] { nested }, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, statuses.size());
    replacedertStatus(statuses, nested, f2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
}

19 View Complete Implementation : AddTest.java
Copyright Apache License 2.0
Author : apache
public void testAddFileToEmptyIndex() throws Exception {
    File file = new File(workDir, "file");
    file.createNewFile();
    replacedertNullDirCacheEntry(Collections.singleton(file));
    GitClient client = getClient(workDir);
    Monitor m = new Monitor();
    client.addNotificationListener(m);
    client.add(new File[] { file }, m);
    replacedertEquals(Collections.singleton(file), m.notifiedFiles);
    replacedertDirCacheSize(1);
    replacedertDirCacheEntry(Collections.singleton(file));
    // no error while adding the same file twice
    m = new Monitor();
    client.addNotificationListener(m);
    client.add(new File[] { file }, m);
    replacedertEquals(Collections.<File>emptySet(), m.notifiedFiles);
    replacedertDirCacheEntry(Collections.singleton(file));
    write(file, "hello, i've changed");
    replacedertDirCacheEntryModified(Collections.singleton(file));
    m = new Monitor();
    client.addNotificationListener(m);
    client.add(new File[] { file }, m);
    replacedertEquals(Collections.singleton(file), m.notifiedFiles);
    replacedertDirCacheSize(1);
    replacedertDirCacheEntry(Collections.singleton(file));
}

19 View Complete Implementation : HistoryTest.java
Copyright Apache License 2.0
Author : apache
public void testHistoryProviderBranches() throws Exception {
    File f = new File(repositoryLocation, "file");
    write(f, "a\nb\nc\nd\n");
    File[] roots = new File[] { f };
    GitClient client = getClient(repositoryLocation);
    client.add(roots, GitUtils.NULL_PROGRESS_MONITOR);
    GitRevisionInfo revBase = client.commit(roots, "base commit", new GitUser("author", "[email protected]"), null, GitUtils.NULL_PROGRESS_MONITOR);
    Thread.sleep(1100);
    // new branch
    client.createBranch("branch", "master", GitUtils.NULL_PROGRESS_MONITOR);
    // change on master
    write(f, "x\nb\nc\nd\n");
    client.add(roots, GitUtils.NULL_PROGRESS_MONITOR);
    GitRevisionInfo revMaster = client.commit(roots, "master commit", new GitUser("author2", "[email protected]"), null, GitUtils.NULL_PROGRESS_MONITOR);
    Thread.sleep(1100);
    client.checkoutRevision("branch", true, GitUtils.NULL_PROGRESS_MONITOR);
    // change on branch
    write(f, "a\nb\nc\nz\n");
    client.add(roots, GitUtils.NULL_PROGRESS_MONITOR);
    GitRevisionInfo revBranch = client.commit(roots, "branch commit", new GitUser("author3", "[email protected]"), null, GitUtils.NULL_PROGRESS_MONITOR);
    Thread.sleep(1100);
    // back to master
    client.checkoutRevision("master", true, GitUtils.NULL_PROGRESS_MONITOR);
    // history displayed only for the current branch
    VCSHistoryProvider p = VersioningSupport.getOwner(f).getVCSHistoryProvider();
    replacedertTrue(p instanceof HistoryProvider);
    VCSHistoryProvider.HistoryEntry[] entries = p.getHistory(new File[] { f }, new Date(0));
    replacedertEquals(2, entries.length);
    replacedertEntry(revMaster, entries[0]);
    replacedertEntry(revBase, entries[1]);
    replacedertNull(entries[1].getParentEntry(f));
    replacedertEntry(entries[1], entries[0].getParentEntry(f));
    // let's merge and test the merge
    GitMergeResult mergeResult = client.merge("branch", GitUtils.NULL_PROGRESS_MONITOR);
    Thread.sleep(100);
    GitRevisionInfo revMerge = client.log(mergeResult.getNewHead(), GitUtils.NULL_PROGRESS_MONITOR);
    entries = p.getHistory(new File[] { f }, new Date(0));
    // merges are not displayed in history tab
    replacedertEquals(3, entries.length);
    replacedertEntry(revBranch, entries[0]);
    replacedertEntry(revMaster, entries[1]);
    replacedertEntry(revBase, entries[2]);
    replacedertNull(entries[2].getParentEntry(f));
    replacedertEntry(entries[2], entries[0].getParentEntry(f));
    replacedertEntry(entries[2], entries[1].getParentEntry(f));
}

19 View Complete Implementation : RepositoryInfoTest.java
Copyright Apache License 2.0
Author : apache
public void testChangeHead() throws Exception {
    File f = new File(repositoryLocation, "file");
    File[] roots = new File[] { f };
    GitClient client = getClient(repositoryLocation);
    client.add(roots, GitUtils.NULL_PROGRESS_MONITOR);
    GitRevisionInfo revInfo = client.commit(roots, "bla", null, null, GitUtils.NULL_PROGRESS_MONITOR);
    RepositoryInfo info = RepositoryInfo.getInstance(repositoryLocation);
    info.refresh();
    replacedertEquals(revInfo.getRevision(), info.getActiveBranch().getId());
    // test property support
    GitBranch oldBranch = info.getActiveBranch();
    RepositoryInfoListener list = new RepositoryInfoListener();
    info.addPropertyChangeListener(list);
    write(f, "huhu 2");
    client.add(roots, GitUtils.NULL_PROGRESS_MONITOR);
    revInfo = client.commit(roots, "bla", null, null, GitUtils.NULL_PROGRESS_MONITOR);
    info.refresh();
    replacedertEquals(revInfo.getRevision(), info.getActiveBranch().getId());
    list.replacedertPropertyEvent(RepositoryInfo.PROPERTY_HEAD, oldBranch, info.getActiveBranch());
}

19 View Complete Implementation : AddTest.java
Copyright Apache License 2.0
Author : apache
public void testAddMixedLineEndings() throws Exception {
    File f = new File(workDir, "f");
    String content = "";
    for (int i = 0; i < 10000; ++i) {
        content += i + "\r\n";
    }
    write(f, content);
    File[] files = new File[] { f };
    GitClient client = getClient(workDir);
    client.add(files, NULL_PROGRESS_MONITOR);
    client.commit(files, "commit", null, null, NULL_PROGRESS_MONITOR);
    Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, statuses.size());
    replacedertStatus(statuses, workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
    // lets turn autocrlf on
    StoredConfig cfg = repository.getConfig();
    cfg.setString(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_AUTOCRLF, "true");
    cfg.save();
    // when this starts failing, remove the work around
    ObjectInserter inserter = repository.newObjectInserter();
    TreeWalk treeWalk = new TreeWalk(repository);
    treeWalk.setFilter(PathFilterGroup.createFromStrings("f"));
    treeWalk.setRecursive(true);
    treeWalk.reset();
    treeWalk.addTree(new FileTreeIterator(repository));
    while (treeWalk.next()) {
        String path = treeWalk.getPathString();
        replacedertEquals("f", path);
        WorkingTreeIterator fit = treeWalk.getTree(0, WorkingTreeIterator.clreplaced);
        try (InputStream in = fit.openEntryStream()) {
            inserter.insert(Constants.OBJ_BLOB, fit.getEntryLength(), in);
            fail("this should fail, remove the work around");
        } catch (EOFException ex) {
            replacedertEquals("Input did not match supplied length. 10.000 bytes are missing.", ex.getMessage());
        } finally {
            inserter.close();
        }
        break;
    }
    // no err should occur
    write(f, content + "hello");
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, statuses.size());
    replacedertStatus(statuses, workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
    client.add(files, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, statuses.size());
    replacedertStatus(statuses, workDir, f, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
    client.commit(files, "message", null, null, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
    replacedertEquals(1, statuses.size());
    replacedertStatus(statuses, workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
}

19 View Complete Implementation : BranchTest.java
Copyright Apache License 2.0
Author : apache
public void testListBranches_Issue213538() throws Exception {
    GitClient client = getClient(workDir);
    File f = new File(workDir, "f");
    write(f, "init");
    client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
    client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
    // cannot end with a RuntimeException
    File configFile = new File(Utils.getMetadataFolder(workDir), Constants.CONFIG);
    String config = read(configFile);
    config += "\n\tbla:\n";
    write(configFile, config);
    Thread.sleep(1100);
    try {
        client.getBranches(false, NULL_PROGRESS_MONITOR);
    } catch (GitException ex) {
        replacedertEquals("It seems the config file for repository at [" + workDir + "] is corrupted.\nEnsure it's valid.", ex.getMessage());
    }
}

19 View Complete Implementation : CommitTest.java
Copyright Apache License 2.0
Author : apache
public void testSingleFileCommit() throws Exception {
    repository.getConfig().setString("user", null, "name", "John");
    repository.getConfig().setString("user", null, "email", "[email protected]");
    repository.getConfig().save();
    File toCommit = new File(workDir, "testnotadd.txt");
    write(toCommit, "blablabla");
    GitClient client = getClient(workDir);
    Map<File, GitStatus> statuses = client.getStatus(new File[] { toCommit }, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, toCommit, false, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_ADDED, false);
    client.add(new File[] { toCommit }, NULL_PROGRESS_MONITOR);
    statuses = client.getStatus(new File[] { toCommit }, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, toCommit, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
    long t1 = System.currentTimeMillis();
    Thread.sleep(1000);
    GitRevisionInfo info = client.commit(new File[] { toCommit }, "initial commit", null, null, NULL_PROGRESS_MONITOR);
    Thread.sleep(1000);
    long t2 = System.currentTimeMillis();
    statuses = client.getStatus(new File[] { toCommit }, NULL_PROGRESS_MONITOR);
    replacedertStatus(statuses, workDir, toCommit, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
    replacedertTrue(t1 <= info.getCommitTime() && t2 >= info.getCommitTime());
    Git git = new Git(repository);
    LogCommand log = git.log();
    RevCommit com = log.call().iterator().next();
    replacedertEquals("initial commit", info.getFullMessage());
    replacedertEquals("initial commit", com.getFullMessage());
    replacedertEquals("[email protected]", info.getAuthor().getEmailAddress());
    replacedertEquals("[email protected]", com.getAuthorIdent().getEmailAddress());
    replacedertEquals(ObjectId.toString(com.getId()), info.getRevision());
    Map<File, GitFileInfo> modifiedFiles = info.getModifiedFiles();
    replacedertTrue(modifiedFiles.get(toCommit).getStatus().equals(Status.ADDED));
}