in src/com/intellij/vssSupport/VssVcs.java [190:226]
public void activate() {
// Control the appearance of project items so that we can easily
// track down potential changes in the repository.
listener = new VFSListener(getProject(), this);
removalHandler = new VssLocalFileOperationsHandler(myProject, this);
LocalFileSystem.getInstance().addVirtualFileListener(listener);
CommandProcessor.getInstance().addCommandListener((CommandListener)listener);
LocalFileSystem.getInstance().registerAuxiliaryFileOperationsHandler(removalHandler);
VssConfiguration config = VssConfiguration.getInstance(myProject);
ProjectLevelVcsManager mgr = ProjectLevelVcsManager.getInstance(myProject);
List<VcsDirectoryMapping> currentMappings = mgr.getDirectoryMappings();
List<VcsDirectoryMapping> newMappings = new ArrayList<>();
// Load old-formatted content root mappings, transform them into new ones.
// VssConfiguration reads them but never writes down again, so this procedure
// will be performed once per old-formatted project.
if (config.getMapItemCount() > 0) {
for (int i = 0; i < config.getMapItemCount(); i++) {
MapItem item = config.getMapItem(i);
if (!hasMappedFolder(item.LOCAL_PATH, currentMappings)) {
VcsDirectoryMapping mapping = new VcsDirectoryMapping(item.LOCAL_PATH, getName());
mapping.setRootSettings(new VssRootSettings(item.VSS_PATH));
newMappings.add(mapping);
}
}
}
if (newMappings.size() > 0) {
mgr.setDirectoryMappings(newMappings);
}
// Add information about VSS project roots from the local project.
List<VcsDirectoryMapping> list = mgr.getDirectoryMappings();
for (VcsDirectoryMapping pair : list) {
savedProjectPaths.add(pair.getVcs());
}
}