From 42429d61714ad6795cb4c3bcc2c2382943972f8d Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Mon, 16 Apr 2018 15:03:58 +0300 Subject: [PATCH] vcs: additional logging in commit dialog --- .../vcs/changes/ui/CommitChangeListDialog.java | 14 +++++++++++++- .../openapi/vcs/impl/PartialChangesUtil.java | 12 ++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java index d3dce30db30c..e01f4ec864e8 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java @@ -15,6 +15,7 @@ import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.DataProvider; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ModalityState; +import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.progress.ProgressManager; @@ -60,6 +61,7 @@ import java.io.File; import java.util.*; import java.util.List; +import static com.intellij.openapi.diagnostic.Logger.getInstance; import static com.intellij.openapi.util.text.StringUtil.escapeXml; import static com.intellij.openapi.vcs.VcsBundle.message; import static com.intellij.util.ArrayUtil.isEmpty; @@ -78,6 +80,8 @@ import static com.intellij.util.ui.UIUtil.*; import static java.util.Collections.*; public class CommitChangeListDialog extends DialogWrapper implements CheckinProjectPanel, DataProvider { + private static final Logger LOG = getInstance(CommitChangeListDialog.class); + private static final String HELP_ID = "reference.dialogs.vcs.commit"; private static final String TITLE = message("commit.dialog.title"); @@ -663,12 +667,14 @@ public class CommitChangeListDialog extends DialogWrapper implements CheckinProj commitExecutor.getActionText(), true, getProject()); if (completed) { + LOG.debug("Commit successful"); myHandlers.forEach(CheckinHandler::checkinSuccessful); success = true; defaultListCleaner.clean(); close(OK_EXIT_CODE); } else { + LOG.debug("Commit canceled"); session.executionCanceled(); } } @@ -828,6 +834,7 @@ public class CommitChangeListDialog extends DialogWrapper implements CheckinProj private CheckinHandler.ReturnResult runBeforeCheckinHandlers(@Nullable CommitExecutor executor) { for (CheckinHandler handler : myHandlers) { if (!handler.acceptExecutor(executor)) continue; + LOG.debug("CheckinHandler.beforeCheckin: " + handler); CheckinHandler.ReturnResult result = handler.beforeCheckin(executor, myCommitOptions.getAdditionalData()); if (result == CheckinHandler.ReturnResult.COMMIT) continue; if (result == CheckinHandler.ReturnResult.CANCEL) { @@ -850,8 +857,12 @@ public class CommitChangeListDialog extends DialogWrapper implements CheckinProj private Runnable wrapIntoCheckinMetaHandlers(Runnable runnable) { for (CheckinHandler handler : myHandlers) { if (handler instanceof CheckinMetaHandler) { + CheckinMetaHandler metaHandler = (CheckinMetaHandler)handler; Runnable previousRunnable = runnable; - runnable = () -> ((CheckinMetaHandler)handler).runCheckinHandlers(previousRunnable); + runnable = () -> { + LOG.debug("CheckinMetaHandler.runCheckinHandlers: " + handler); + metaHandler.runCheckinHandlers(previousRunnable); + }; } } return runnable; @@ -932,6 +943,7 @@ public class CommitChangeListDialog extends DialogWrapper implements CheckinProj } private void doCommit(@Nullable CommitResultHandler customResultHandler) { + LOG.debug("CommitHelper: Do actual commit"); CommitHelper helper = new CommitHelper(myProject, myBrowser.getSelectedChangeList(), getIncludedChanges(), TITLE, getCommitMessage(), myHandlers, myAllOfDefaultChangeListChangesIncluded, false, myCommitOptions.getAdditionalData(), customResultHandler, myIsAlien, diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/PartialChangesUtil.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/PartialChangesUtil.java index 581bfbf477cb..d24cfbfe190d 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/PartialChangesUtil.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/PartialChangesUtil.java @@ -123,7 +123,7 @@ public class PartialChangesUtil { return task.compute(); } - clm.setDefaultChangeList(targetChangeList, true); + switchChangeList(clm, targetChangeList, oldDefaultList); try { return task.compute(); } @@ -143,7 +143,7 @@ public class PartialChangesUtil { return task.compute(); } - clm.setDefaultChangeList(targetChangeList, true); + switchChangeList(clm, targetChangeList, oldDefaultList); try { return task.compute(); } @@ -155,11 +155,19 @@ public class PartialChangesUtil { } } + private static void switchChangeList(@NotNull ChangeListManagerEx clm, + @NotNull LocalChangeList targetChangeList, + @NotNull LocalChangeList oldDefaultList) { + clm.setDefaultChangeList(targetChangeList, true); + LOG.debug(String.format("Active changelist changed: %s -> %s", oldDefaultList.getName(), targetChangeList.getName())); + } + private static void restoreChangeList(@NotNull ChangeListManagerEx clm, @NotNull LocalChangeList targetChangeList, @NotNull LocalChangeList oldDefaultList) { if (Comparing.equal(clm.getDefaultChangeList().getId(), targetChangeList.getId())) { clm.setDefaultChangeList(oldDefaultList, true); + LOG.debug(String.format("Active changelist restored: %s -> %s", targetChangeList.getName(), oldDefaultList.getName())); } else { LOG.warn(new Throwable("Active changelist was changed during the operation"));