Bug 161044 [Import/Export] Error: Destination directory conflicts with location of workspace root
Steps to reproduce: 1)Create a new simple project called Proj1 2)Create a new simple project called Proj2 3)Create a new file called testFile in Proj1 4)Try to export the testFile as a zip file and put that zip file inside C:\<yourWorkspace>\Proj2 You get error "Destination directory conflicts with location of workspace root" The code causing this is in UI. The class is called org.eclipse.ui.internal.wizards.datatransfer.WizardFileSystemResourceExportPage1and the method is #validateDestinationGroup. - Why is this considered an error? Products built upon Eclipse allow you to export to a directory in the workspace so obviously this is not a rule but more of a policy used by Eclipse export wizard. This introduces inconsistent behaviour with downstream products. - Can the export be made less restrictive? For example, permit the above example but prevent exports that would damage or corrupt the workspace.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardFileSystemResourceExportPage1.java
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.DirectoryDialog;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Widget;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.dialogs.WizardExportResourcesPage;
/**
 *	Page 1 of the base resource export-to-file-system Wizard
 */
public class WizardFileSystemResourceExportPage1 extends
        WizardExportResourcesPage implements Listener {
    
    private Combo destinationNameField;
    private Button destinationBrowseButton;
    protected Button overwriteExistingFilesCheckbox;
    protected Button createDirectoryStructureButton;
    protected Button createSelectionOnlyButton;
    
    private static final String STORE_DESTINATION_NAMES_ID = "WizardFileSystemResourceExportPage1.STORE_DESTINATION_NAMES_ID"; 
    private static final String STORE_OVERWRITE_EXISTING_FILES_ID = "WizardFileSystemResourceExportPage1.STORE_OVERWRITE_EXISTING_FILES_ID"; 
    private static final String STORE_CREATE_STRUCTURE_ID = "WizardFileSystemResourceExportPage1.STORE_CREATE_STRUCTURE_ID"; 
    
    private static final String SELECT_DESTINATION_MESSAGE = DataTransferMessages.FileExport_selectDestinationMessage;
    private static final String SELECT_DESTINATION_TITLE = DataTransferMessages.FileExport_selectDestinationTitle;
    /**