Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2004-03-30 20:34:13 +0000
committerMichael Valenta2004-03-30 20:34:13 +0000
commit233d45f9cca579a988342015a34556f7015f6ea8 (patch)
tree21d390311e6a33e3a4ec38a61dc740eaafe33fe0 /tests/org.eclipse.team.tests.cvs.core
parent90e867073ede02f07f7c5b2240c9d841d50eadfe (diff)
downloadeclipse.platform.team-233d45f9cca579a988342015a34556f7015f6ea8.tar.gz
eclipse.platform.team-233d45f9cca579a988342015a34556f7015f6ea8.tar.xz
eclipse.platform.team-233d45f9cca579a988342015a34556f7015f6ea8.zip
55207: Merge does not see files/dirs deleted in stream where changes come from
Diffstat (limited to 'tests/org.eclipse.team.tests.cvs.core')
-rw-r--r--tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSMergeSubscriberTest.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSMergeSubscriberTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSMergeSubscriberTest.java
index 94dcc359d..b43aacc1b 100644
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSMergeSubscriberTest.java
+++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSMergeSubscriberTest.java
@@ -524,4 +524,43 @@ public class CVSMergeSubscriberTest extends CVSSyncSubscriberTest {
getSyncInfoSource().tearDown();
super.tearDown();
}
+
+ public void testDeletedAddition() throws TeamException, CoreException, InvocationTargetException, InterruptedException {
+ IProject project = createProject("testDeletedAddition", new String[]{"file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
+
+ // Checkout and branch a copy
+ CVSTag root = new CVSTag("root_branch1", CVSTag.VERSION);
+ CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
+ IProject branchedProject = branchProject(project, root, branch);
+
+ // add a file to HEAD
+ addResources(branchedProject, new String[] {"folder2/", "folder2/added.txt"}, true);
+
+ // Setup a merge by creating a merge subscriber
+ CVSMergeSubscriber subscriber = getSyncInfoSource().createMergeSubscriber(project, root, branch);
+ assertSyncEquals("testDeletedAddition", subscriber, project,
+ new String[]{"folder2/", "folder2/added.txt"}, true,
+ new int[]{
+ SyncInfo.INCOMING | SyncInfo.ADDITION,
+ SyncInfo.INCOMING | SyncInfo.ADDITION
+ });
+
+ // Merge the change with HEAD
+ mergeResources(subscriber, project, new String[]{"folder2/", "folder2/added.txt"}, true);
+ assertSyncEquals("testDeletedAddition", subscriber, project,
+ new String[]{"folder2/", "folder2/added.txt"}, true,
+ new int[]{
+ SyncInfo.IN_SYNC,
+ SyncInfo.IN_SYNC
+ });
+
+ // Delete the file from the branch
+ deleteResources(branchedProject, new String[] {"folder2/added.txt"}, true);
+ assertSyncEquals("testDeletedAddition", subscriber, project,
+ new String[]{"folder2/", "folder2/added.txt"}, true,
+ new int[]{
+ SyncInfo.IN_SYNC,
+ SyncInfo.CONFLICTING | SyncInfo.CHANGE
+ });
+ }
}

Back to the top