vcs: add more debug logs for IDEA-181823

This commit is contained in:
Kirill Likhodedov
2017-12-14 11:57:49 +03:00
parent d9ab4a9f9f
commit 1bf93d4986
3 changed files with 13 additions and 3 deletions
@@ -20,6 +20,7 @@ import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.components.ProjectComponent;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.EditorFactory;
import com.intellij.openapi.editor.colors.ColorKey;
@@ -56,6 +57,7 @@ import java.util.Map;
* @author mike
*/
public class FileStatusManagerImpl extends FileStatusManager implements ProjectComponent, Disposable {
private static final Logger LOG = Logger.getInstance(FileStatusManagerImpl.class);
private final Map<VirtualFile, FileStatus> myCachedStatuses = Collections.synchronizedMap(new HashMap<VirtualFile, FileStatus>());
private final Map<VirtualFile, Boolean> myWhetherExactlyParentToChanged =
Collections.synchronizedMap(new HashMap<VirtualFile, Boolean>());
@@ -134,15 +136,20 @@ public class FileStatusManagerImpl extends FileStatusManager implements ProjectC
for (FileStatusProvider extension : myExtensions.getValue()) {
final FileStatus status = extension.getFileStatus(virtualFile);
if (status != null) {
LOG.debug(String.format("File status for file [%s] from provider %s: %s", virtualFile, extension.getClass().getName(), status));
return status;
}
}
if (virtualFile.isInLocalFileSystem() && myFileStatusProvider != null) {
return myFileStatusProvider.getFileStatus(virtualFile);
FileStatus status = myFileStatusProvider.getFileStatus(virtualFile);
LOG.debug(String.format("File status for file [%s] from default provider %s: %s", virtualFile, myFileStatusProvider, status));
return status;
}
return getDefaultStatus(virtualFile);
FileStatus defaultStatus = getDefaultStatus(virtualFile);
LOG.debug(String.format("Default status for file [%s]: %s", virtualFile, defaultStatus));
return defaultStatus;
}
@NotNull
@@ -244,6 +251,7 @@ public class FileStatusManagerImpl extends FileStatusManager implements ProjectC
}
FileStatus status = getCachedStatus(file);
LOG.debug("Cached status for file [" + file + "] is " + status);
if (status == null || status == FileStatusNull.INSTANCE) {
status = calcStatus(file);
cacheChangedFileStatus(file, status);
@@ -61,7 +61,7 @@ public abstract class VcsVFSListener implements Disposable {
@Override
public String toString() {
return "MovedFileInfo{myNewPath=" + myNewPath + ", myFile=" + myFile + '}';
return String.format("MovedFileInfo{[%s] -> [%s]}", myOldPath, myNewPath);
}
}
@@ -298,6 +298,7 @@ public abstract class VcsVFSListener implements Disposable {
myMovedFiles.clear();
performMoveRename(ContainerUtil.filter(movedFiles, info -> {
FileStatus status = FileStatusManager.getInstance(myProject).getStatus(info.myFile);
LOG.debug("File " + info.myNewPath + " has status " + status);
return !(status == FileStatus.UNKNOWN && filterOutUnknownFiles()) && status != FileStatus.IGNORED;
}));
}
@@ -212,6 +212,7 @@ public class GitVFSListener extends VcsVFSListener {
toAdd.add(VcsUtil.getFilePath(newPath));
}
}
LOG.debug("performMoveRename. \ntoAdd: " + toAdd + "\ntoRemove: " + toRemove + "\ntoForceMove: " + toForceMove);
performAdding(toAdd);
performDeletion(toRemove);
performForceMove(toForceMove);