diff options
author | Michael Valenta | 2004-03-30 20:34:13 +0000 |
---|---|---|
committer | Michael Valenta | 2004-03-30 20:34:13 +0000 |
commit | 233d45f9cca579a988342015a34556f7015f6ea8 (patch) | |
tree | 21d390311e6a33e3a4ec38a61dc740eaafe33fe0 /tests/org.eclipse.team.tests.cvs.core | |
parent | 90e867073ede02f07f7c5b2240c9d841d50eadfe (diff) | |
download | eclipse.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.java | 39 |
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 + }); + } } |