From 1bf93d498629f32db52816bb8b3958fbb24fb4fd Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Thu, 14 Dec 2017 11:56:50 +0300 Subject: [PATCH] vcs: add more debug logs for IDEA-181823 --- .../openapi/vcs/impl/FileStatusManagerImpl.java | 12 ++++++++++-- .../src/com/intellij/openapi/vcs/VcsVFSListener.java | 3 ++- .../git4idea/src/git4idea/vfs/GitVFSListener.java | 1 + 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/vcs/impl/FileStatusManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/vcs/impl/FileStatusManagerImpl.java index ed8559d7bb35..8ae5cbe2a790 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vcs/impl/FileStatusManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/vcs/impl/FileStatusManagerImpl.java @@ -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 myCachedStatuses = Collections.synchronizedMap(new HashMap()); private final Map myWhetherExactlyParentToChanged = Collections.synchronizedMap(new HashMap()); @@ -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); diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/VcsVFSListener.java b/platform/vcs-api/src/com/intellij/openapi/vcs/VcsVFSListener.java index 8c4c2edb7215..1a269d806fc9 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/VcsVFSListener.java +++ b/platform/vcs-api/src/com/intellij/openapi/vcs/VcsVFSListener.java @@ -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; })); } diff --git a/plugins/git4idea/src/git4idea/vfs/GitVFSListener.java b/plugins/git4idea/src/git4idea/vfs/GitVFSListener.java index 9a11af9b932d..39b597182d1c 100644 --- a/plugins/git4idea/src/git4idea/vfs/GitVFSListener.java +++ b/plugins/git4idea/src/git4idea/vfs/GitVFSListener.java @@ -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);