Search in sources :

Example 26 with Change

use of org.eclipse.egit.core.synchronize.GitCommitsModelCache.Change in project egit by eclipse.

the class StagedChangeCacheTest method shouldListTwoWorkspaceDeletionsInFolder.

@Test
public void shouldListTwoWorkspaceDeletionsInFolder() throws Exception {
    // given
    try (Git git = new Git(db)) {
        writeTrashFile(db, "folder/a.txt", "trash");
        writeTrashFile(db, "folder/b.txt", "trash");
        git.add().addFilepattern("folder/a.txt").addFilepattern("folder/b.txt").call();
        git.commit().setMessage("new commit").call();
        git.rm().addFilepattern("folder/a.txt").call();
        git.rm().addFilepattern("folder/b.txt").call();
    }
    // when
    Map<String, Change> result = StagedChangeCache.build(db);
    // then
    assertThat(result.size(), is(2));
    assertFileDeletion(result, "folder/a.txt", "a.txt");
    assertFileDeletion(result, "folder/b.txt", "b.txt");
}
Also used : Git(org.eclipse.jgit.api.Git) Change(org.eclipse.egit.core.synchronize.GitCommitsModelCache.Change) Test(org.junit.Test)

Example 27 with Change

use of org.eclipse.egit.core.synchronize.GitCommitsModelCache.Change in project egit by eclipse.

the class StagedChangeCacheTest method shouldListSingleWorkspaceAddition.

@Test
public void shouldListSingleWorkspaceAddition() throws Exception {
    // given
    writeTrashFile(db, "a.txt", "trash");
    try (Git git = new Git(db)) {
        git.add().addFilepattern("a.txt").call();
    }
    // when
    Map<String, Change> result = StagedChangeCache.build(db);
    // then
    assertThat(result.size(), is(1));
    assertFileAddition(result, "a.txt", "a.txt");
}
Also used : Git(org.eclipse.jgit.api.Git) Change(org.eclipse.egit.core.synchronize.GitCommitsModelCache.Change) Test(org.junit.Test)

Example 28 with Change

use of org.eclipse.egit.core.synchronize.GitCommitsModelCache.Change in project egit by eclipse.

the class WorkingTreeChangeCacheTest method shouldListTwoWorkspaceChagneInFolder.

@Test
public void shouldListTwoWorkspaceChagneInFolder() throws Exception {
    // given
    writeTrashFile(db, "folder/a.txt", "trash");
    writeTrashFile(db, "folder/b.txt", "trash");
    try (Git git = new Git(db)) {
        git.add().addFilepattern("folder/a.txt").addFilepattern("folder/b.txt").call();
    }
    writeTrashFile(db, "folder/a.txt", "modification");
    writeTrashFile(db, "folder/b.txt", "modification");
    // when
    Map<String, Change> result = WorkingTreeChangeCache.build(db);
    // then
    assertThat(result.size(), is(2));
    assertFileChange(result, "folder/a.txt", "a.txt");
    assertFileChange(result, "folder/b.txt", "b.txt");
}
Also used : Git(org.eclipse.jgit.api.Git) Change(org.eclipse.egit.core.synchronize.GitCommitsModelCache.Change) Test(org.junit.Test)

Example 29 with Change

use of org.eclipse.egit.core.synchronize.GitCommitsModelCache.Change in project egit by eclipse.

the class WorkingTreeChangeCacheTest method shouldListSingleWorkspaceChangeInFolder.

@Test
public void shouldListSingleWorkspaceChangeInFolder() throws Exception {
    // given
    writeTrashFile(db, "folder/a.txt", "trash");
    try (Git git = new Git(db)) {
        git.add().addFilepattern("folder/a.txt").call();
    }
    writeTrashFile(db, "folder/a.txt", "modification");
    // when
    Map<String, Change> result = WorkingTreeChangeCache.build(db);
    // then
    assertThat(result.size(), is(1));
    assertFileChange(result, "folder/a.txt", "a.txt");
}
Also used : Git(org.eclipse.jgit.api.Git) Change(org.eclipse.egit.core.synchronize.GitCommitsModelCache.Change) Test(org.junit.Test)

Example 30 with Change

use of org.eclipse.egit.core.synchronize.GitCommitsModelCache.Change in project egit by eclipse.

the class WorkingTreeChangeCacheTest method shouldListTwoWorkspaceChanges.

@Test
public void shouldListTwoWorkspaceChanges() throws Exception {
    // given
    writeTrashFile(db, "a.txt", "trash");
    writeTrashFile(db, "b.txt", "trash");
    try (Git git = new Git(db)) {
        git.add().addFilepattern("a.txt").addFilepattern("b.txt").call();
    }
    writeTrashFile(db, "a.txt", "modification");
    writeTrashFile(db, "b.txt", "modification");
    // when
    Map<String, Change> result = WorkingTreeChangeCache.build(db);
    // then
    assertThat(result.size(), is(2));
    assertFileChange(result, "a.txt", "a.txt");
    assertFileChange(result, "b.txt", "b.txt");
}
Also used : Git(org.eclipse.jgit.api.Git) Change(org.eclipse.egit.core.synchronize.GitCommitsModelCache.Change) Test(org.junit.Test)

Aggregations

Change (org.eclipse.egit.core.synchronize.GitCommitsModelCache.Change)35 Test (org.junit.Test)29 Git (org.eclipse.jgit.api.Git)21 HashMap (java.util.HashMap)3 Repository (org.eclipse.jgit.lib.Repository)3 IOException (java.io.IOException)2 ArrayList (java.util.ArrayList)2 IPath (org.eclipse.core.runtime.IPath)2 DirCacheIterator (org.eclipse.jgit.dircache.DirCacheIterator)2 MutableObjectId (org.eclipse.jgit.lib.MutableObjectId)2 TreeWalk (org.eclipse.jgit.treewalk.TreeWalk)2 Map (java.util.Map)1 Path (org.eclipse.core.runtime.Path)1 FileModelFactory (org.eclipse.egit.ui.internal.synchronize.model.TreeBuilder.FileModelFactory)1 TreeModelFactory (org.eclipse.egit.ui.internal.synchronize.model.TreeBuilder.TreeModelFactory)1 AbbreviatedObjectId (org.eclipse.jgit.lib.AbbreviatedObjectId)1 ObjectId (org.eclipse.jgit.lib.ObjectId)1 RevCommit (org.eclipse.jgit.revwalk.RevCommit)1 RevWalk (org.eclipse.jgit.revwalk.RevWalk)1 EmptyTreeIterator (org.eclipse.jgit.treewalk.EmptyTreeIterator)1