void (@NotNull AnActionEvent e) { VcsLogUsageTriggerCollector.triggerUsage(e, this); Project project = e.getRequiredData(CommonDataKeys.PROJECT); VcsLogCommitSelection selection = e.getRequiredData(VcsLogDataKeys.VCS_LOG_COMMIT_SELECTION); FileHistoryModel model = e.getRequiredData(VcsLogInternalDataKeys.FILE_HISTORY_MODEL); List<CommitId> commits = selection.getCommits(); if (commits.size() != 1) return; CommitId commit = Objects.requireNonNull(getFirstItem(commits)); if (ChangeListManager.getInstance(project).isFreezedWithNotification(null)) return; FilePath localPath = e.getRequiredData(VcsDataKeys.FILE_PATH); FilePath pathInCommit = model.getPathInCommit(commit.getHash()); VcsLogDiffHandler handler = e.getRequiredData(VcsLogInternalDataKeys.LOG_DIFF_HANDLER); handler.showDiffWithLocal(commit.getRoot(), pathInCommit, commit.getHash(), localPath); }