Bug 161828 [Undo] - second undo on folder move/copy merge restores old snapshot
Project A folder file1 file2 file3 file4 subfolder file1 file2 file3 file4 Move the "folder" to this existing project: Project B folder file1 file2 file3 file4 file5 file6 subfolder file1 file2 file3 file4 The move operation correctly replaces the content of file1, file2, file3, file4 in the ProjectB folder and the content of file1, file2, file3, file4 in the subfolder. Undo the move. The files return to their original location in ProjectA, and the content of the files in ProjectB have reverted to their content before the move. Redo the move. Everything still fine. Undo the move. Now the files have returned to their original location in ProjectA, but the content of the files in ProjectB still have the content from the ProjectA files.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/ResourceDescription.java
/*******************************************************************************
 * Copyright (c) 2006 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 ******************************************************************************/
package org.eclipse.ui.internal.ide.undo;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.ResourceAttributes;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
/**
 * ResourceDescription is a lightweight description that describes the common
 * attributes of a resource to be created.
 * 
 * This class is not intended to be instantiated or used by clients.
 * 
 * @since 3.3
 *