diff --git a/plugins/git4idea/src/git4idea/merge/MergeChangeCollector.java b/plugins/git4idea/src/git4idea/merge/MergeChangeCollector.java index c1f30453d760..c8ad93b10366 100644 --- a/plugins/git4idea/src/git4idea/merge/MergeChangeCollector.java +++ b/plugins/git4idea/src/git4idea/merge/MergeChangeCollector.java @@ -80,6 +80,17 @@ public class MergeChangeCollector { addAll(updatedFiles, FileGroup.REMOVED_FROM_REPOSITORY_ID, removed); } + public int calcUpdatedFilesCount() throws VcsException { + String revisionsForDiff = getRevisionsForDiff(); + if (revisionsForDiff == null) { + return 0; + } + + Set updated = new HashSet<>(); + getChangedFilesExceptUnmerged(updated, updated, updated, revisionsForDiff); + return updated.size() + getUnmergedPaths().size(); + } + /** * Returns absolute paths to files which are currently unmerged, and also populates myUnmergedPaths with relative paths. */ diff --git a/plugins/git4idea/src/git4idea/update/GitUpdateInfoAsLog.kt b/plugins/git4idea/src/git4idea/update/GitUpdateInfoAsLog.kt index 630c6c5d721c..41d585610790 100644 --- a/plugins/git4idea/src/git4idea/update/GitUpdateInfoAsLog.kt +++ b/plugins/git4idea/src/git4idea/update/GitUpdateInfoAsLog.kt @@ -33,8 +33,9 @@ import com.intellij.vcs.log.visible.VisiblePack import com.intellij.vcs.log.visible.VisiblePackChangeListener import com.intellij.vcs.log.visible.VisiblePackRefresherImpl import com.intellij.vcs.log.visible.filters.VcsLogFilterObject -import git4idea.changes.GitChangeUtils +import git4idea.GitRevisionNumber import git4idea.history.GitHistoryUtils +import git4idea.merge.MergeChangeCollector import git4idea.repo.GitRepository import org.jetbrains.annotations.CalledInAwt import java.util.* @@ -156,7 +157,7 @@ class GitUpdateInfoAsLog(private val project: Project, private fun calcUpdatedFilesCount(): Int { return calcCount { repository, range -> - GitChangeUtils.getDiffWithWorkingDir(project, repository.root, range.start.asString(), null, false, false).size + MergeChangeCollector(project, repository.root, GitRevisionNumber(range.start.asString())).calcUpdatedFilesCount() } }