Bug 302152 New path variable created unexpectedly
One of the latest 3.6 IBuilds Steps: 1) Create a general project (let's call is 'project1') 2) Go to Project Properties and make sure that there are only dynamic path variables 2) Drag and drop a folder with a subfolder and files inside to 'project1' In my case it is c:/Folder > SubFolder > a.txt 3) In the "File and Folder Import" dialog, choose 'Automatic' (or later 'Default') and 'Recreate with Virtual Folders and Links' 4) Go to Project Properties again and see that a new variable is added ('C' which is defined relatively to PROJECT_LOC) 5) Open Properties for myProject/Folder/SubFolder/a.txt and see that its location is defined using this new 'C' variable. I should be at least asked if I want Eclipse to create any variables for me.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableDialog.java
IPathVariableManager pathVariableManager2 = currentResource.getProject().getPathVariableManager();
			String[] variables = pathVariableManager2.getPathVariableNames(currentResource);
    		String internalFormat = pathVariableManager2.convertFromUserEditableFormat(variableValue, currentResource);
    		URI uri = URIUtil.toURI(Path.fromPortableString(internalFormat));
        	URI resolvedURI = pathVariableManager2.resolveURI(uri, currentResource);
        	String resolveValue = URIUtil.toPath(resolvedURI).toPortableString();
        	
        	 
        	String[] newVariables = pathVariableManager2.getPathVariableNames(currentResource);
        	for (int i = 0; i < newVariables.length; i++) {
        		boolean found = false;
            	for (int j = 0; j < variables.length; j++) {
            		if (variables[j].equals(newVariables[i])) {
            			found = true;
            			break;
            		}
            	}
            	if (!found) {
					try {
						pathVariableManager2.setValue(newVariables[i], currentResource, null);
					} catch (CoreException e) {
						
					}
            	}
        	}
        	return resolveValue;
        }
        return variableValue;
    }